CVE-2026-9073: foreman-mcp-server Inserts Sensitive Information into Log File
foreman-mcp-server up to 0.4.2 writes credentials to its logs. It logs MCP session identifiers, which act as authentication credentials, at info level. With debug logging on, its header masking is incomplete, so authorization tokens and API keys land in cleartext in container logs. No patched pip version is listed yet.
Published Jun 23, 2026 · Updated Sep 24, 2026 · Analysis Oct 25, 2026
What an attacker can do
Two logging paths leak secrets. The first logs session identifiers at the informational level, so they appear in default logs. The server treats a session identifier as a credential, so anyone who reads that line can reuse it. The second path is the HTTP logging middleware with debug enabled. It masked only four header keys (foreman_password, foreman_token, password and token) and logged every other header value, including authorization tokens and API keys.
The attacker does not attack the server directly. They need to read the logs: a local user on the host, someone with access to container logs, or anyone with access to a central platform that receives forwarded logs. Their gain is the Foreman credentials or session of whoever used the MCP server, with the access that grants. Red Hat rates it Moderate, with a CVSS 3.1 score of 6.2: local vector, no privileges, high confidentiality impact only.
The risk grows when logs are shipped to a shared aggregator with broad read access.
Who is affected
The pip package foreman-mcp-server at 0.4.2 and earlier. It also ships inside Red Hat Satellite, so Satellite operators should check their Red Hat advisory. Check the pip version with:
pip show foreman-mcp-serverThe session-ID logging occurs in default configurations. The header leak needs debug logging enabled.
foreman-mcp-server
- Ecosystem
- PyPI
- Affected
- <= 0.4.2
- Fixed in
- No patched version yet
- Check
pip show foreman-mcp-server
How to fix it
The data lists no patched version of foreman-mcp-server, and the Red Hat page I read lists no fixed package or erratum. Red Hat also says it has no mitigation that meets its criteria.
The upstream project has fix commits. One changes header logging from a denylist to an allowlist: only a _SAFE_HEADERS set (such as host, user-agent, content-type, accept and mcp-session-id) is logged in full, and every other header value is replaced with ******. Check the Red Hat CVE page and Bugzilla entry 2480151 for a fixed Satellite build.
Until then, keep debug logging off, restrict who can read the container logs, and review log forwarding. Rotate tokens and API keys that may have been logged.
How to tell if you were hit
Search the server's logs and any central log store for authorization tokens, API keys and session identifiers. Debug-level header dumps are the likeliest place. Check the config for debug logging. Check who has read access to the container logs and to the platform where they are forwarded. If you find secrets, rotate them and review Foreman audit logs for use by unfamiliar sources.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
A flaw was found in foreman-mcp-server. This component utilizes two distinct logging mechanisms that can expose sensitive session and authentication data. One mechanism logs session identifiers, which are treated as authentication credentials, at an informational level. The other, when debug logging is enabled, incompletely sanitizes HTTP request headers, leading to the cleartext logging of sensitive information such as authorization tokens and API keys. This vulnerability can result in a confidentiality breach, as sensitive authentication data is persisted in plain text within container logs, increasing the risk if logs are forwarded to a centralized platform.
Questions
- Is there a patched version of foreman-mcp-server?
None is listed in the advisory data, and the Red Hat page shows no erratum. Upstream commits change the header logging, so watch the Red Hat CVE page and Bugzilla 2480151 for a build.
- Does the leak need debug logging?
Only the header leak does. Session identifiers are logged at info level, which is a default level.
- Can this be exploited remotely?
Not directly. The CVSS vector is local. An attacker must read the logs, or reach a platform where the logs are forwarded.
References
Read for this analysis:
- https://access.redhat.com/security/cve/CVE-2026-9073
- https://github.com/theforeman/foreman-mcp-server/commit/0f166d7e3e8ec554e669da17211fdffd14740e2f
- https://nvd.nist.gov/vuln/detail/CVE-2026-9073
- https://bugzilla.redhat.com/show_bug.cgi?id=2480151
- https://access.redhat.com/errata/RHSA-2026:28438
- https://access.redhat.com/errata/RHSA-2026:28405
- https://github.com/theforeman/foreman-mcp-server/commit/f9594e8127c77e0eed3ca482b540b88c391e8e44
- https://github.com/advisories/GHSA-7rcj-2493-83x3
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
More Other MCP servers and tools vulnerabilities
All Other MCP servers and tools entriesCVE-2026-77361
obsidian-tc : Symlink read-ACL scope bypass via lexical path checks
medium4.7Oct 23, 2026CVE-2026-114126
Storybook dev server vulnerable to code injection from the local network
high8.7Oct 22, 2026CVE-2026-113731
djust: Arbitrary absolute-path file read in the find_handlers_for_template MCP tool
low3.3Oct 21, 2026CVE-2026-114125
Storybook: Missing origin validation in Storybook preview allows code injection from malicious websites
critical9.4Oct 21, 2026CVE-2026-111770
MCP TypeScript server SDK: Shared transport or server instances delivered one HTTP client's messages to another
high7.7Oct 20, 2026GHSA-953h-535j-jg2v
agent-router: MCP session resume does not verify the embedded anti-hijacking subject; default Helm seed makes session IDs forgeable
medium6.8Oct 19, 2026
