PHP2Shell : See if you’re affected with a free external attack surface scan. Click Here > 

New CVE Detected

CVE-2025-12999 – Cache Poisoning Leading to Malicious Extension Delivery – Eclipse Open VSX 0.6.0 th

Be the first to know when new zero-days emerge:

Summary

CVE-2025-12999 is a critical (CVSS 9.1) cache poisoning vulnerability in Eclipse Open VSX, the open-source extension registry used by VS Code-compatible editors. An unauthenticated remote attacker can inject forged X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Prefix headers to poison the registry’s response cache with attacker-controlled URLs, causing every subsequent client to receive malicious extension download, signature, and public-key links.

Technical details

  • Root cause: UrlUtil.getBaseUrl builds absolute URLs (download, icon, asset, API, signature, and public-key URLs) from the client-supplied X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Prefix headers, without verifying the request came from a trusted proxy.
  • The /vscode/gallery/{namespace}/{extension}/latest endpoint and related metadata responses (extension.json, namespace.details.json, sitemap, latest.extension.version.vscode) are cached under keys that do not include the host.
  • Trigger conditions: exploitable when the Open VSX server is reachable directly by clients, or sits behind a reverse proxy that relays rather than overwrites these forwarding headers, and a cache entry for the targeted extension is cold.
  • Attack vector: a single unauthenticated HTTP request carrying a forged header poisons the shared cache entry, which is then served to every client requesting that extension’s metadata for the cache lifetime (default one hour, or cluster-wide when Redis caching is enabled).
  • Impact: victims’ editors resolve download, signature, and public-key URLs to attacker infrastructure; because all three derive from the same poisoned base URL, extension signature verification provides no protection, allowing delivery of a malicious VSIX and arbitrary code execution with the privileges of the extension host.

Affected software

  • Eclipse Open VSX (eclipse-openvsx/openvsx), versions 0.6.0 through 1.1.2
  • Open VSX server container images (GHCR openvsx-server and Docker Hub openvsx-server), versions 0.6.0 through 1.1.2

Severity

CVSS v4.0 Base Score: 9.1 (Critical)
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:H/SI:H/SA:H

Mitigation and recommended actions

  • Immediate: upgrade Eclipse Open VSX to version 1.2.0 or later, which fixes the vulnerable URL construction.
  • If patching is not immediately possible:
    • Configure the reverse proxy in front of Open VSX to set (overwrite), rather than relay, the X-Forwarded-Host, X-Forwarded-Proto, and X-Forwarded-Prefix headers on incoming requests. Note that nginx’s $host variable reflects the client-supplied Host header and is not a safe substitute.
    • Ensure the Open VSX server is not reachable except through that trusted, header-overwriting proxy.
    • After deploying the fix or mitigation, flush all caches (including Redis, if used), since previously poisoned cache entries persist across configuration changes.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge