/00 — boot sequence

Hello.

Article

AWS Kiro CVE-2026-10591: Poisoned Web Page Hijacks AI IDE for RCE

July 28, 2026•5 min read
security aws kiro vulnerability rce ai-ide

A critical vulnerability in AWS Kiro, Amazon's agentic coding IDE, allowed a maliciously crafted web page to silently rewrite Kiro's own configuration file and execute arbitrary code on the developer's machine — with no approval prompt able to stop it. Discovered by Intezer (with Kodem Security) and patched in Kiro v0.11.130+, the flaw (covered by CVE-2026-10591, CVSS 8.8) demonstrates how AI agents that auto-load external content can be hijacked via prompt injection.

Why This Matters to Developers

Kiro is an AI-powered IDE that acts as an autonomous coding agent: it reads files, runs shell commands, fetches URLs, and edits code on your behalf. Its safety model relies on human-in-the-loop approval — the idea that a developer reviews and authorizes risky actions before they execute.

This flaw completely bypassed that boundary. A developer asks Kiro to "summarize this API documentation page." Kiro fetches the page, which contains hidden white-text instructions. Kiro follows those instructions, writes a malicious MCP server entry to ~/.kiro/settings/mcp.json, reloads the config, and executes the attacker's code — all without ever showing an approval dialog for the config write or code execution.

Impact: Full remote code execution as the developer. Credential theft, source code exfiltration, persistence, lateral movement to internal systems — anything the developer's user account can do.

Vulnerability Details

AttributeValue
CVECVE-2026-10591
CVSS 3.18.8 (High)
CVSS 4.08.6 (High)
ComponentAWS Kiro IDE (Autopilot mode, the default)
Affected VersionsAll builds before v0.11.130 (v0.9.2 macOS, v0.10.16 Ubuntu confirmed)
Patched Versionv0.11.130+ (1.0.x line)
DiscoveryIntezer + Kodem Security, reported via HackerOne Feb 11, 2026
Public DisclosureJuly 21, 2026

The Attack Chain

  1. Developer visits or asks Kiro to fetch a URL — e.g., "summarize this API docs page"
  2. Page contains hidden prompt injection — One-pixel white text (color:#fff;font-size:1px) with malicious instructions
  3. Kiro reads hidden text as a legitimate task — The LLM treats it as a setup instruction
  4. Kiro writes to mcp.json — Uses its fsWrite tool to add a malicious MCP server entry:
    json
  5. Kiro auto-reloads mcp.json — The agent relaunches MCP servers on config change
  6. Attacker's code executes — Rogue MCP server starts with developer's full privileges

Why the Approval Prompt Failed

Kiro did show a pop-up: "MCP configuration changed — allow reload?" But the reload happened regardless of what the developer clicked. The warning was purely informational; the security boundary was in the wrong place (UI) rather than the platform (file system enforcement).

This is the same class of bug found in Kiro's July 2025 launch (Johann Rehberger/Embrace The Red) and the .vscode/tasks.json variant (Cymulate, also CVE-2026-10591). Three independent research efforts, same root cause: the agent could write the files that control what it's allowed to execute.

Affected Systems

  • Kiro IDE (Autopilot mode, the default)
  • Kiro CLI and Web builds — may share the flaw (not confirmed by Intezer)

Mitigation & Patching

1. Upgrade Immediately (Primary Fix)

bash

Current patched versions: v0.11.130+, 1.0.x line (1.0.165 listed as latest as of July 21, 2026)

2. If You Cannot Upgrade Immediately

  • Disable web fetch in Kiro until patched (settings → tools → disable URL fetch)
  • Don't ask Kiro to summarize external pages — only use local files
  • Monitor mcp.json for unexpected changes:
    bash

3. AWS's Fix: Protected Paths

AWS moved the security boundary from the model to the platform. Kiro now marks sensitive files as protected paths, each requiring explicit approval before write:

  • ~/.kiro/settings/mcp.json
  • .vscode/tasks.json
  • .vscode/settings.json
  • .git directory
  • And other execution-sensitive paths

This fix works in both Autopilot and Supervised mode — unlike the 2025 fix which only protected Supervised mode.

Detection Rules

Suricata: Suspicious MCP Config Write

alert tcp any any -> $DEV_WORKSTATIONS any ( msg:"ET EXPLOIT AWS Kiro CVE-2026-10591 MCP Config Write"; flow:to_server,established; content:"mcp.json"; nocase; content:"mcpServers"; nocase; pcre:"/mcpServers\s*:\s*\{[^}]*command/"; classtype:attempted-admin; sid:2026004; rev:1; metadata:created_at 2026_07_21; )

YARA: Kiro MCP Config Injection

yara

Sigma: Kiro MCP File Modification

yaml

Frequently Asked Questions

Q: Is there a separate CVE for Intezer's report?

A: AWS says it's covered by CVE-2026-10591, though the bulletin focuses on .vscode/tasks.json. No separate CVE was issued for the mcp.json vector.

Q: Does this affect Kiro CLI or Web builds?

A: Intezer tested Kiro IDE; they didn't establish whether CLI/Web share the flaw. Assume affected until confirmed otherwise.

Q: Was this exploited in the wild?

A: Intezer reported no in-the-wild exploitation. Their testing was controlled (callback to localhost).

Q: What's the difference between the 2025 and 2026 fixes?

A: 2025 fix (v0.1.42) added approval prompt for mcp.json writes in Supervised mode only. 2026 fix (v0.11.34+) added mcp.json to protected paths, enforcing approval in both Autopilot and Supervised modes.

Q: How do I check my Kiro version?

A: In Kiro: Help → About. Or run kiro --version in terminal.

Key Takeaways

  1. AI agents that auto-fetch web content are prompt-injection targets — hidden text on a page can hijack the agent's behavior.
  2. The agent controlling its own permissions is a broken security model — the platform must enforce boundaries the model cannot override.
  3. This is the third time Kiro has had this exact bug class — mcp.json (2025), tasks.json (2025/2026), mcp.json again (2026).
  4. Protected paths are the right fix — platform-enforced, mode-agnostic, outside model control.
  5. 30+ similar flaws found across AI coding tools in Dec 2025 (Cursor, Copilot, etc.) — this is a systemic issue in the AI IDE category.

Conclusion

The Kiro vulnerability isn't just another CVE — it's a case study in why "human in the loop" only works when the loop includes the right step. If the model can write the file that decides what the model can run, and the platform doesn't enforce the approval at write-time, the approval is theater.

AWS eventually got it right with protected paths. But the fact that it took three independent disclosures over a year suggests the AI IDE ecosystem is still learning this lesson. If you use Kiro, Cursor, Copilot, or any agent that fetches external content: upgrade today, and assume the next prompt-injection-to-RCE chain is already being tested against your stack.


Sources:

Automated Transmission

This entry was synthesized and populated dynamically using native API integrations.

Resources & Links