Exhibits
CVE-2026-39973: Apktool's Path Check Was Replaced With a Name Check. The Path Has Two Names.. Apktool extends this pattern from the appliance to the developer laptop. The pattern's published exhibits, FortiSandbox, vm2, radare2, Zabbix's audit log, sit at the network-positioned end of the spectrum: boxes whose role obligates them to accept hostile input. CVE-2026-39973 is the same shape at a different rung. The user of apktool d is, by occupation, looking at bytes they do not trust. The decoder's job is to make sense of those bytes. The path concat that writes the result is the input path the malicious APK reaches the analyst's home directory through. The blast radius is a single workstation rather than a security fabric, but the prerequisite is also smaller: one malicious sample on disk, one apktool invocation, and the analyst's ~/.bashrc belongs to whoever crafted the resources.arsc. The pattern's mechanism_md notes "the detector parses the worst inputs with the most complex code"; Apktool's resources.arsc parser, two attacker-controlled string pools deep, is the most complex code in the ingestion path.
CVE-2024-22120: Zabbix's Audit Log Is the Read Primitive. The audit log is the SOC tool. It records what every user did, when, and from where. Its database connection necessarily holds SELECT on every table the system might audit, which is every table in the schema. CVE-2024-22120 routes a low-privilege user's SQL through the audit-writer's connection by way of the unsanitized clientip column in the audit-log INSERT. The detector's necessary privilege becomes the attacker's read across sessions and config. The pattern's specific shape: the SOC tool is the attack surface because the SOC tool's privilege is broader than the privilege of the user it is recording.
CVE-2026-39808: One curl to Root on the Box That's Supposed to Catch Malware. FortiSandbox is a malware analysis appliance. Its job is to receive suspicious files, detonate them, and report verdicts. A pre-auth RCE on the box means that anyone who can reach its submission interface can run code on the appliance itself. The attacker does not need to evade detection. The attacker needs to submit a sample that exploits the submission endpoint. The sandbox's role, the thing that makes it valuable to the defender, is exactly the attack surface.
CVE-2026-0300: seven PoCs, four defenders, two placeholders, one missing patch. The honest half of this PoC ecosystem is detection tooling pointed at the appliance it is meant to defend: TailwindRG's audit walks the live config from a Panorama API key (and concedes PAN-OS has no read-only XML-API role to do it safely), mr-r3b00t's honeypot impersonates a vulnerable PAN-OS captive portal down to the O=Palo Alto Networks cert and the JA3 capture, shizuku's survey probes the same /php/login.php path the exploit stubs POST to. Every defensive artifact here is built by standing where the attacker stands and looking at the same port — the detector and the target are the same box, reached the same way.
CVE-2026-40517: fN Was the One r2 Command That Skipped the base64 Envelope. radare2 is a reverse engineering framework whose users are, by occupation, the people who load binaries from sources they do not trust. The idp command is in the muscle memory of every Windows malware analyst working from a PE sample plus its symbols, and the symbol file is exactly the channel an attacker controls when they ship the binary. CVE-2026-40517 is the-detector-is-the-target with the detector being the analyst's r2 instance and the input being the PDB file paired with the sample; the pattern's mechanism_md says "the detector parses the worst inputs with the most complex code," and radare2's PDB parser, the binary backend's most variant-rich format, fits. The patch closes this CVE on the fN realname slot. It does not address the broader exposure that every RAD-mode cb_printf in libr/bin/ is the same kind of bridge from attacker-controlled file bytes to defender-side command execution.
TeamPCP Came for the Scanners. A campaign that specifically targeted the security tooling deployed across enterprises. The scanner agents, running with deep read across every repository, every endpoint, every artifact, were the payload delivery mechanism. Once the attacker reached the scanner infrastructure, they inherited the scanner's reach. The defender's investment in coverage became the attacker's coverage.
CVE-2026-24118: vm2's Patch Names Its Sibling. resetPromiseSpecies Was 2023.. vm2's product is "run untrusted JavaScript safely in-process." Its only input shape is attacker-influenced code, by definition. CVE-2026-24118 is the input shape doing exactly what the input shape is documented to do: a few lines of sandbox JavaScript that walk a prototype chain, install a self-returning species function, and trigger one r.map(f) to write raw host references into a sandbox-visible array, with the bridge's mediation routed around. Every property of the tool that makes it useful (executes caller code, exposes host built-ins, mediates through a Proxy) is the surface this CVE exploits. The README's "New bypasses will likely be discovered in the future" sentence is the maintainer's acknowledgment that the threat model and the input model are the same model, written down twice.
CVE-2026-24120: vm2's README Already Admits the Bug Class Is the Design. vm2's entire reason to exist is to detect and contain malicious sandboxed code. CVE-2026-24120 turns the detector into the target: a vm2 customer's normal input, vm.run(\"<user code>\"), returns shell execution on the host via err.constructor.constructor('return process')().mainModule.require('child_process').execSync(). The README acknowledges this directly under "Important Security Disclaimer" and recommends isolated-vm, Worker threads, or containers as "more robust alternatives." The library's own documentation tells callers not to use the library against the threat model the library was written for.
Kinship
Security Tool As Primitive. Parent pattern. Security-tool-as-primitive is the broader category: any defensive tool becoming attacker-controlled via its own privileges. The-detector-is-the-target is specifically this applied to detection tooling, where the input path is the dangerous primitive.
Content Is Command. Detectors are interpreters by occupation. A file submitted for analysis gets parsed by the detector's engines. If the parser reads attacker content as command, the detector is the first system to execute the attacker's code. Content-is-command against a detection tool is how this pattern most commonly lands.
Trust Inversion. The detector inverts trust when compromised: the tool your team trusts to surface threats is now surfacing the threat at them. The detector's outputs are believed by downstream tools and analysts, and a compromised detector can weaponize those outputs.
Your detector is the one component in your stack that is required to accept hostile input. Model it as if hostile input sometimes wins.