Two perfect tens, and neither is an AI bug
The worst two advisories of the week both sit in a product with AI in its name. One is SQL injection. The other is code injection. The only new thing about them is where they live.
Two advisories scored a perfect ten this week. Both are in an enterprise product sold as an AI platform. One is SQL injection. The other is code injection. Their weakness classes were catalogued before most of the industry had heard the phrase large language model.
That is the story, and it cuts against the way this subject is usually written up. The interesting question is not what new attacks AI invented. It is how much of the new surface is carrying very old bugs.
The worst two are ordinary
Unauthenticated arbitrary SQL against the instance database. Unauthenticated arbitrary code execution on the platform. Strip the product name and these are findings you could have written in 2005, and the remediation advice would be identical: parameterise the query, stop evaluating attacker-influenced strings.
The AI label is not the vulnerability. It is the reason the code exists, and the reason it shipped quickly. A new product line is a new codebase, a new set of endpoints and a new deadline, and those three things have always produced this.
One of them genuinely is new
Then there is the agent framework where remote code execution arrives through prompt injection. Its Python and shell tools take arguments the model produced and hand them, unsanitised, to execution sinks:
exec() runpy.run_path() subprocess.run()
The attacker never touches those calls. They write something into a web page or a document, the agent reads it as part of doing its job, and the model obligingly produces the argument. The input is laundered through the model, which is precisely what makes it hard to filter: by the time the string reaches the sink it was generated by your own trusted component.
This one is not an old bug in a new place. The trust boundary genuinely moved, and it now runs between the model and the tools it can call.
And one that is both at once
The most instructive entry is the IDE whose agent mode could write outside the workspace. The weakness class is path traversal, which is thoroughly ancient. What is new is where the path came from: the model supplied it, and the containment check that would have caught a user-supplied path was never applied to a model-supplied one.
That is the bridge between the two halves of this list. The bug class is old. The reason nobody validated the input is that it arrived from a component the code considered part of itself.
It has reached the browser
A shipping mobile browser from Microsoft now carries a prompt-injection identifier of its own. The score is modest and the impact is spoofing rather than compromise, so this is not the alarming part. The alarming part is the category: prompt injection is no longer confined to somebody's agent framework on GitHub. It is in software with hundreds of millions of installs, and it will be assessed by teams who have never had to reason about it.
What to actually do
- Review the AI product like any other web application first. The worst findings this week would have been caught by an ordinary appsec pass, not by anything agent-specific.
- Then add the one new boundary. Treat model output as untrusted input to every tool it can reach, especially anything that executes, writes files or makes requests.
- Apply your existing validation to model-supplied values. Path containment, allowlists and canonicalisation usually exist already and are simply not wired to that source.
- Check where your agent tooling stores provider keys. At least one project this week wrote them to disk in cleartext under a predictable name.
- ServiceNow AI platform, SQL injection: CVE-2026-74820, CWE-89. CVSS 4.0 base 10.0 Critical, AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H. Unauthenticated arbitrary SQL against the instance database. Score assigned by psirt@servicenow.com. Published 27 August 2026.
- ServiceNow AI platform, code injection: CVE-2026-18885, CWE-94. CVSS 4.0 base 10.0 Critical, same vector. Unauthenticated arbitrary code execution on the platform. Score assigned by psirt@servicenow.com. Published 27 August 2026. ServiceNow states it patched hosted instances and supplied the update to partners.
- Agno: CVE-2026-37003, CWE-94, versions up to and including 2.5.8. CVSS 3.1 base 9.8 Critical. PythonTools and ShellTools pass unsanitised, LLM-generated arguments directly into exec(), runpy.run_path() and subprocess.run(). The attacker embeds instructions in content the agent processes, such as a web page or a document.
- Eclipse Theia: CVE-2026-82217, CWE-22, versions 1.73.0 up to but not including 1.75.0. CVSS 3.1 base 8.8 High, AV:N/AC:L/PR:N/UI:R. The AI Agent Mode file-change tools resolved a model-supplied path with no workspace-containment check, so a relative path such as ../.bashrc, an absolute path, or a tilde-expanded path wrote or deleted files outside the workspace. Assigned by emo@eclipse.org.
- Microsoft Edge for iOS: CVE-2026-70331, improper neutralisation of input used for LLM prompting, allowing spoofing over a network. CVSS 3.1 base 5.4 Medium, AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N. Assigned by secure@microsoft.com, published 28 August 2026, and the only one here NVD has finished analysing.
- browser-use web-ui: CVE-2026-82640, CWE-312, versions 2.0.0 through 3.0.0 write configured LLM API keys to disk in cleartext in predictably named JSON files. Two scores from the same assessor: CVSS 4.0 base 6.8 and CVSS 3.1 base 5.5.
- Both perfect tens are vendor-assigned by ServiceNow's own PSIRT and NVD lists them as Awaiting Analysis. We have no independent confirmation of either score.
- ServiceNow's advisories say the flaws are exploitable in certain circumstances without saying which, and the NVD records carry no affected version ranges. We cannot tell you whether a given instance was exposed.
- We reproduced none of this and observed no exploitation. Our public sensor is offline, so we hold no telemetry and no detection rates.
- That old bug classes dominate is what our scout's window and query set produced, not a census. A different window would shift the balance.
- Whether the ServiceNow flaws are in AI-specific code or in older platform code that the AI product simply exposes is not stated in the advisories, and it changes what the lesson is.
- 01CVE-2026-74820: SQL injection in the ServiceNow AI platform ↗
- 02CVE-2026-18885: code injection in the ServiceNow AI platform ↗
- 03CVE-2026-37003: Agno remote code execution via prompt injection ↗
- 04CVE-2026-82217: Eclipse Theia Agent Mode writes outside the workspace ↗
- 05CVE-2026-70331: prompt injection in Microsoft Edge for iOS ↗
- 06CVE-2026-82640: browser-use web-ui stores LLM API keys in cleartext ↗

