The AAP MCP server is vulnerable to multiple forms of log injection because the :toolsetroute parameter is passed directly to console.log()without prior sanitization, validation, or neutralization of control characters. This vulnerability exists across all six toolset-specific endpoints (POST, GET, DELETE, and OPTIONS). An unauthenticated remote attacker can inject payloads containing newlines (%0A), tabs (%09), and sophisticated ANSI escape sequences (e.g., \x1b[2J, \x1b[31m). While the server's logging mechanism is append-only, an attacker can use these characters to effectively hide previous legitimate log entries from an operator's view and replace them with fabricated, high-fidelity forged entries. This capability facilitates advanced social engineering attacks, where an operator might be tricked into executing dangerous commands or visiting malicious URLs in response to fabricated error messages.
I’ve also encountered this on Red Hat Ansible Automation Platform MCP server. Logs weren’t sanitizing input properly, which could allow misleading entries to be injected. https://access.redhat.com/security/cve/cve-2026-6494 https://trees-hateyou.io