Posts

High-signal AI/security/automation notes.

It Asked What the Bytes Looked Like, Not Where They Came From: runwasi’s CVE-2026-47218

CVE-2026-47218 reached NVD on 15 October 2026 at CVSS 4.0 9.3: runwasi’s Wasmtime shim accepted a precompiled native-code artifact handed to it as an OCI image layer and deserialized it, skipping WebAssembly validation entirely. The fix, shipped four months earlier, adds one boolean. GHSA-cc25-vq59-rcjx was published 17 June; the CVE arrived 120 days later, and neither identifier resolves in the GitHub global advisory database or OSV at time of writing.

The Sandbox Was an Empty Dict: SGLang’s Dumper eval() RCE Ships in 0.5.22 After Its Fix Was Closed as Queue Spam

CVE-2026-111391, published to NVD at 12:16Z on 16 October 2026, is a 9.2 code injection in SGLang’s debug dumper: a filter expression evaluated with eval() and an empty __builtins__, with re.search left in the namespace. A community fix arrived 48 minutes after the report and was closed unmerged 15 hours later in an anti-queue-flooding sweep. The affected range ends at 0.5.22 — released the same day, still vulnerable. We read every line at the tag.

The Caller Names the Cache Key: SGLang’s mm_hashes Serves One Tenant’s Image to Another

CVE-2026-111392, published to NVD at 18:17:38Z on 16 October 2026, lets a caller declare the prefix-cache identity of an image on SGLang’s native /generate endpoint. Send image B under image A’s declared hash and the model answers from A’s cached KV — across tenants, with a normal completion and no error. The adjacent field in the same dataclass already has a trust flag. This one does not, and at the time of writing the unconditional code is still on main.

Nobody Sees the Headers Except Your Agent: 7,959 Sites Are Already Writing to AI in HTTP Response Metadata

Signals Corps read the HTTP response headers of 217,097,223 pages from Common Crawl’s September 2026 archive and found 7,959 sites sending text addressed to AI agents. 7,271 are pointers to llms.txt files and MCP servers, 139 record whether the client was judged a bot, and 30 are injection attempts. The sharper result is the tool survey: whether any of it reaches your model depends entirely on which fetch tool your agent uses, and a shell with curl -i passes all of it.

The Delete Tool Did Not Ask: Wheels Ships Nine CVEs, Eleven Advisories, and an MCP Surface That Trusted Its Caller

Nine CVEs (CVE-2026-111443 through CVE-2026-111451) published 16 October 2026 for the Wheels CFML framework, mapping to nine of eleven GitHub advisories. CVE-2026-111451 names the threat source verbatim: a CI variable, a branch name, or an AI agent driving the CLI’s MCP tools — and one of those MCP tools deletes recursively without confirmation. Two advisories, including a critical 9.8 SQL injection, got no CVE at all, and OSV has none of them.

Opening the Folder Is the Exploit, Again: ZCode Connects Workspace MCP Servers Without Asking

CVE-2026-88755, published to NVD on 16 October 2026, covers Z.ai ZCode 3.11.2.6792: opening a repository merges its .zcode/config.json into the MCP server table and connects with no approval, so a stdio entry executes locally with zero interaction. A second path poisons tool descriptions to exfiltrate the local credential store. One day after Junie’s identical flaw class.

Each Advisory’s Workaround Is the Other One’s Exploit: Better Auth’s Four-CVE Batch

Four CVE records published 14 October 2026 cover Better Auth before 1.7.7 and @better-auth/sso before 1.7.3. Two of them — a Magic Link token confusion at 9.3 and an OAuth Proxy profile forgery at 9.1 — have mitigations that are each other’s preconditions, and both advisories say so. One pull request fixed both. We read the advisories, the PR and the new crypto/purpose.ts first-hand.

The Attachment Was the Payload: Cisco’s Mail Scanner Writes Root Files for Anyone Who Can Send Email

Cisco published CVE-2026-76519 on 14 October 2026: a CVSS 9.8 arbitrary file write in the Advanced Malware Protection feature of Secure Email Gateway, reachable by sending a crafted attachment through the device and ending in root command execution. Found by internal scanning, already exploited, in CISA KEV the same day with a 17 October deadline — and the real fix ships through the Content Scanner Tools update channel, not a software upgrade.

Eighteen More After Zero: curl 8.23.0 Fixes 24 CVEs as the AISLE Audit Closes Its Second Release

curl 8.23.0, released 14 October 2026, fixes 24 CVEs — 18 found by the AISLE AI audit, plus an HTTP/2 upload use-after-free (CVE-2026-92392) proven convertible to client-side RCE and reported by Luna with Claude. We read the AISLE audit write-up, the curl.se advisory and the NVD record first-hand: the theme is security state surviving a changed trust context.

The Account Was Deleted but the Token Lived On: GhostPat, Docker Hub CVE-2026-105445, and Two Years of Silent PAT Reassignment

Docker disclosed CVE-2026-105445 (CVSS 9.4) on 12 October 2026: converting a personal account into an organization silently re-assigned personal access tokens (PATs) to a stranger, with no rotation, no consent and no notification. We read the Docker advisory, the researcher ghostpat.com write-up and the NVD record first-hand — 25 months of exposure, ~304,000 pushes examined, and a fix deployed in under four hours.

The Container Name Was the Command: Komodo’s Periphery Agent, Patched in July, Disclosed in October

CERT/CC published VU#456950 and CVE-2026-110005 on 13 October 2026: Komodo’s Periphery agent interpolated container names and log search terms straight into shell commands running as root. We read the vulnerable and fixed source at v2.2.0 and v2.3.0 — the escaping crate was already a dependency, the fix shipped on 29 July under a Misc bullet, and the gap between patch and advisory is 76 days.