Build1 publisher3 min readPublished
Cua's auth check keyed on a container variable while its bind default listened everywhere, and the pair scored 9.8. AutoAgent's blunter version had no fixed release when the records went out.
The Engineer · Build desk
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Follow any of these and your For You feed starts watching them — no settings page required.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Named records, one reader
The specifics here are checkable to a degree unusual for a single-author post: two CVE identifiers, a fix commit hash, a released version number, an affected range through commit 16c12b052, a VulnCheck advisory, and an open issue number. What our coverage lacks is a second person who has opened any of them. The author also marks his own approximations, saying the code blocks are reconstructions and the AutoAgent port is illustrative, so the exact shipped configuration of the AutoAgent sandbox remains unverified here.
One fix shipped, exposure uncounted
Movement exists on one side only. Cua has a released version that binds loopback in local mode and requires an environment variable to go public, while AutoAgent's advisory pointed at an open issue with no fixed release attached. How many running installations are actually reachable is nowhere in this reporting, and it would be hard to know: the author's own framing is that exposure depends on a given machine's LAN and port forwards. No KEV entry and no EPSS score existed for either record when he looked.
Severity leads, caveats included
Two 9.8 scores carry the headline and the opening, and they are the scoring authority's numbers rather than the author's amplification. He then spends a paragraph reducing their weight, pointing out that the CVSS 4.0 vector confirms network reach without privileges but that no vector records which interface the service bound. The gap stays slightly positive because the top-line severity still does the persuading while the practical blast radius on a home network goes unmeasured, and because the 4.0 score, half a point lower, gets less prominence than the 3.1 figure.
Disclosed practitioner stake
The author declares his interest early: he maintains a small MCP security scanner, publishes on agent security weekly, and links back to his own argument that an AI agent is the most over-privileged account you own. That stake runs in the same direction as the piece's conclusion, which is worth holding in view when the closing position is that secure defaults belong to the vendor. No maintainer of either project speaks, and the commercial party in the chain, VulnCheck, appears only as the advisory's publisher.
Solid on Cua, thin on AutoAgent
Confidence tracks the weaker half. Cua's story can be reconstructed from artifacts anyone can pull: the record, the commit, the released version, the pull request thread. AutoAgent's rests on one reading of one advisory with no fixed release and an illustrative port number, and the exploitation picture rests on two absences the author names himself. Add that no maintainer and no second publisher has been heard from, and the story is credible in its particulars while unconfirmed as a whole.
Take the Cua condition apart and neither line is wrong on its own. Authentication was enforced only when `CONTAINER_NAME` was set, which is how the server detects that it is running inside Cua's managed container; with the variable unset the server assumes local mode and skips authentication entirely [6]. Separately, the CLI default for `--host` was `0.0.0.0`, so local mode still listened on every interface [7]. The auth skip assumes the only client that can reach the port is the person at the keyboard, while the bind default assumes the network is friendly. Together, according to the CVE record as read in the dev.to writeup, an unauthenticated caller on TCP 8000 gets a `run_command` endpoint that executes shell commands, file endpoints for arbitrary read and write, and an interactive PTY [8].
AutoAgent's variant skips the conditional. Per the VulnCheck advisory cited in the same writeup, the sandbox TCP server binds `0.0.0.0` with no authentication and passes attacker-supplied bash to a shell [11], while the Docker environment runs the container as root and publishes the port on all interfaces [12]. The compose file also bind-mounts the host workspace directory, so root in the container reads and writes real files on the host [13].
That is where the word "sandbox" stops carrying weight. For the container to be the boundary the CVE records assume it is, you would need at least three things that are not in the shipped defaults: a non-root user or rootless mode, no writable host mount on the path the agent can reach, and a loopback bind instead of a published port. The writeup makes the same point from Docker's own documentation, which says rootless mode exists precisely because root-in-container is not a hard security boundary, and that a bind mount is the feature that opens a path back to the host [15].
Cua's fix is the part worth copying. Version 0.3.42 binds `127.0.0.1` in local mode, documented in commit 59cf25c0ec54 [9], and per the pull request discussion, going public now needs an explicit `CUA_ALLOW_INSECURE=1`; a cross-site origin check for `/cmd`, `/ws` and `/pty` was still in review when the author read the thread [10]. An environment variable with that name is hard to set by accident and harder to explain afterwards. AutoAgent's affected range runs through commit 16c12b052, and as of the September 5 records the advisory pointed at issue #96 with no confirmed fixed release [14].
The evidence has two limits worth naming. This is one writeup, by an author who says he maintains a small MCP security scanner and writes on agent security weekly [21], and its code blocks are reconstructions from the CVE record and fix commit rather than verbatim source, with the AutoAgent port number illustrative because the advisory pins none [18]. And the install path itself is not documented here: the writeup opens by asking who can reach a sandbox you start the way the README says [19], but what the sources actually show is the shipped CLI default and the compose defaults, not the text of either README.
The 9.8 score reflects how reachable the flaw is, and it makes no claim about an actual incident. Neither CVE was on CISA's KEV catalog when the author checked, and he found no confirmed in-the-wild exploitation in the advisories he read [17]. On CVSS 4.0 the same bugs come out at 9.3 [16], half a point lower than the 3.1 figure [20].
Ranked by verification strength, evidence, and original report placement.
Two CVE records published on September 5 both carry a CVSS 3.1 score of 9.8.
CVE-2026-86121 sits in the computer-server component of Cua, an open-source computer-use agent project.
CVE-2026-86124 sits in the sandbox TCP server of AutoAgent.
Both CVEs were disclosed the same morning by the same researcher, two seconds apart in the CVE feed.
Both bugs reduce to one sentence: the sandbox listens on every network interface and accepts commands from anyone who connects.
CONTAINER_NAME is how Cua detects that the server runs inside its managed container; when the variable is unset, the server assumes local mode and skips authentication entirely.
build
A UDP socket carries Frag Gap from inside a container into host kernel memory1 publisher
product
Nvidia's agent sandbox holds; the model server underneath it answers to any browser tab1 publisher
security
Cohesity's field CISO ranks KEV above EPSS above CVSS in a tiebreaker she would hand an analyst1 publisher
security
Frontier AI can find the bugs faster. The patch queue is the number nobody published.1 publisher
Publishers with included, body-backed reporting in this cluster.
1 article · September 6, 2026