CVE-2026-90814 Overview
CVE-2026-90814 is a Server-Side Request Forgery (SSRF) vulnerability [CWE-918] affecting cosmicstack-labs mercury-agent versions up to and including 1.1.13. The flaw resides in the githubRequest function within src/utils/github.ts, part of the GitHub API Handler component. An attacker can manipulate the path argument to coerce the server into issuing requests to unintended destinations. The vulnerability is remotely exploitable and requires low privileges. According to the advisory, a public exploit has been released, and the maintainers were notified through an issue report but have not yet responded.
Critical Impact
Authenticated remote attackers can abuse the githubRequest function to make the mercury-agent server issue arbitrary HTTP requests, potentially reaching internal services or cloud metadata endpoints.
Affected Products
- cosmicstack-labs mercury-agent versions up to 1.1.13
- The githubRequest function in src/utils/github.ts
- The GitHub API Handler component of mercury-agent
Discovery Timeline
- 2026-09-14 - CVE-2026-90814 published to NVD
- 2026-09-15 - Last updated in NVD database
Technical Details for CVE-2026-90814
Vulnerability Analysis
The vulnerability is a classic Server-Side Request Forgery flaw located in the GitHub API Handler of mercury-agent. The githubRequest function in src/utils/github.ts accepts a user-controlled path argument that is incorporated into an outbound HTTP request without sufficient validation. Because the destination or request target can be influenced by attacker input, the server can be tricked into contacting hosts other than the intended GitHub API endpoints.
SSRF flaws of this type routinely expose internal-only services, administrative interfaces, and cloud instance metadata endpoints that would otherwise be unreachable from the internet. The impact is bounded by the network position and privileges of the mercury-agent process. A public exploit has been released, and no vendor patch is available at the time of publication.
Root Cause
The root cause is missing or insufficient validation of the path parameter passed to githubRequest. The function does not enforce that outbound requests remain scoped to the intended GitHub API host and path space, allowing an attacker to redirect requests to arbitrary destinations [CWE-918].
Attack Vector
Exploitation is performed remotely over the network. An authenticated attacker with low privileges submits a crafted path value to a mercury-agent endpoint that invokes githubRequest. The server then issues an HTTP request influenced by that value, which may reach internal network resources, loopback services, or cloud metadata APIs. No user interaction is required.
No verified proof-of-concept code is included in the NVD entry. Technical specifics are tracked in the GitHub Issue #81 for Mercury Agent and the VulDB CVE-2026-90814 Details advisory.
Detection Methods for CVE-2026-90814
Indicators of Compromise
- Outbound HTTP requests from the mercury-agent process to destinations other than api.github.com or configured GitHub Enterprise hosts.
- Requests originating from mercury-agent to RFC1918 addresses, loopback (127.0.0.1), or cloud metadata endpoints such as 169.254.169.254.
- Anomalous path values in mercury-agent request logs containing absolute URLs, protocol handlers, or path traversal sequences.
Detection Strategies
- Instrument the githubRequest code path to log the fully resolved request URL and compare it against an allowlist of expected GitHub hosts.
- Deploy egress filtering and alert on any outbound connection from the mercury-agent host that violates the allowlist.
- Correlate authentication events with unusual outbound request patterns to identify low-privileged accounts probing internal services.
Monitoring Recommendations
- Forward mercury-agent application logs and host network telemetry into a centralized analytics platform for behavioral baselining.
- Monitor for spikes in failed or redirected HTTP responses returned to authenticated API consumers of mercury-agent.
- Track access to cloud instance metadata services from workloads running mercury-agent, which should generally be blocked or IMDSv2-enforced.
How to Mitigate CVE-2026-90814
Immediate Actions Required
- Restrict network egress from hosts running mercury-agent to only the required GitHub API endpoints.
- Require authentication for all mercury-agent endpoints and rotate credentials for accounts that had access prior to hardening.
- Enforce IMDSv2 and block access to 169.254.169.254 from workloads running mercury-agent when deployed in cloud environments.
Patch Information
No vendor patch is available at the time of publication. The maintainers were notified through GitHub Issue #81 for Mercury Agent but have not responded. Monitor the GitHub Mercury Agent Repository for a fixed release beyond 1.1.13.
Workarounds
- Place mercury-agent behind an egress proxy that only forwards traffic to api.github.com or the configured GitHub Enterprise host.
- Apply host-level firewall rules to deny outbound connections from the mercury-agent service to internal subnets and metadata endpoints.
- Introduce a wrapper around githubRequest that validates the path argument against a strict allowlist and rejects absolute URLs or unexpected characters.
# Example egress restriction using iptables to limit mercury-agent outbound traffic
# Allow DNS and GitHub API only; drop other outbound HTTP/HTTPS from the service user
iptables -A OUTPUT -m owner --uid-owner mercury -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner mercury -d api.github.com -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner mercury -d 169.254.169.254 -j DROP
iptables -A OUTPUT -m owner --uid-owner mercury -p tcp --dport 80 -j DROP
iptables -A OUTPUT -m owner --uid-owner mercury -p tcp --dport 443 -j DROP
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

