Add INC-132..134 for the three CVE candidates triaged as relevant (#60, #81, #84) - #117
Merged
Merged
Conversation
Closes the incident side of #60, #81 and #84. Every field is transcribed from NVD and, where one exists, the vendor's own GitHub advisory. Severity is the published CVSS base severity rather than a judgment of mine, and each control_failure quotes its source with `confirmed_by` empty — drafted, not confirmed. INC-132 Agno <= 2.5.8, CVE-2026-37003. PythonTools and ShellTools pass unsanitised LLM-generated arguments to exec(), runpy.run_path() and subprocess.run(). The record states its own provenance limits plainly: the CNA is MITRE not the vendor, NVD lists it Deferred, the 9.8 is a secondary third-party metric, and no vendor advisory or fix release exists. The one substantive reference NVD carries beyond the CVE renders nothing to a fetcher. INC-133 MCPHub < 1.0.32, CVE-2026-79745 / GHSA-6cvf-cfch-4g7m. The mutating prompt and resource routes sit on the authenticated router with no admin gate and never read req.user, so any authenticated user can overwrite the templates every other session is served. The maintainers' advisory is explicit that stored prompt injection is the downstream consequence. INC-134 Headroom < 0.35.0, CVE-2026-71416 / GHSA-h46j-26q3-rggf. The WebSocket server does not validate Origin before forwarding upstream, so a page in a victim's browser can spend their API key. Incidents 131 -> 134; drafted control failures 18 -> 21, still 0 confirmed. One deliberate loose end: INC-134's NHI-4 failure is an orphan — neither DSGAI02 nor LLM06 maps NHI-4, so the evidence guard flags it. NHI-4 is what the advisory describes ("without authentication"); whether those entries should map it is a mapping decision, so the warning stands rather than the control being changed to fit. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This was referenced Sep 18, 2026
gautamgb
added a commit
to gautamgb/crosswalk
that referenced
this pull request
Sep 18, 2026
Pillar Security's Deadbugz disclosure: a malicious MCP server serves its documented, benign tool contract for the first two tool calls in a session, then substitutes credential-harvesting instructions on the third call. A connect-and-check review never crosses the threshold, so this is invisible to single-session auditing by construction. Renumbered from INC-132 to INC-136: GenAI-Security-Project#117 claimed 132-134 while this was open, GenAI-Security-Project#122 (open) claims 135. Category is research-demonstrated, not real-world: the schema defines real-world as a confirmed incident, and this entry's own impact field says no compromise was confirmed, 23 delivery PRs opened, none merged. INC-126 is the one other entry in the dataset with comparable unconfirmed-impact language and it carries the same category. Mapped to ASI01 (goal hijack), ASI02 (tool misuse), ASI04 (agentic supply chain). Source: https://www.pillar.security/blog/deadbugz-currently-active-mcp-supply-chain-campaign
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the incident side of #60, #81 and #84 — the three CVEs the watcher surfaced and the last triage marked
triage:relevant.Provenance
Every field is transcribed from NVD and, where one exists, the vendor's own GitHub advisory. Severity is the published CVSS base severity, not a judgment of mine. Each
control_failurequotes its source and leavesconfirmed_byempty — drafted, not confirmed, as with the #87 batch.The Agno record states its own limits
I nearly left this one out. Unlike the other two, it has no vendor advisory: the CNA is MITRE rather than the vendor, NVD lists the record Deferred, the CVSS 9.8 is a secondary third-party metric rather than an NVD or vendor score, and no fix release is named. The one substantive reference NVD carries beyond the CVE itself renders nothing to a fetcher, so I could not read it.
It is included because the CVE is published and states its mechanism, and the record says all of the above in its own
descriptionrather than presenting a 9.8 as though the vendor had confirmed it. If you would rather it waited for vendor confirmation, drop the record and the other two stand on their own.What each says
PythonToolsandShellToolspass unsanitised, LLM-generated arguments toexec(),runpy.run_path()andsubprocess.run(); injection in content the agent reads reaches an execution sink. → LLM01, ASI02, ASI05.req.user", so any authenticated user can overwrite the templates every other session is served; the advisory names stored prompt injection as the downstream consequence. → ASI03, LLM01, ASI06.Originheader … allowing malicious WebSocket clients to perform arbitrary LLM requests without authentication", so a page in the victim's browser can spend their API key. → DSGAI02, LLM06.One deliberate loose end
INC-134's
NHI-4failure is an orphan — neither DSGAI02 nor LLM06 maps NHI-4, so the evidence guard flags it andorphan_failuresgoes 0 → 1. NHI-4 Insecure Authentication is what the advisory describes; I first wrote NHI-2 and corrected it. Whether those entries should map NHI-4 is a mapping decision, so the warning stands rather than the control being swapped for one that happens to be mapped.Verification
node scripts/validate.js: 0 errors, 88 warnings (the +1 is the orphan above), 327 passed.npm run test:scripts: 85 passed. Stats and README marker current; generator reproduces.🤖 Generated with Claude Code