CVE-2025-45286
NixOS vulnerability analysis and mitigation

Overview

CVE-2025-45286 is a reflected Cross-Site Scripting (XSS) vulnerability in mccutchen/go-httpbin, a Go implementation of the httpbin HTTP testing service. The flaw allows attackers to execute arbitrary web scripts or HTML in a victim's browser by crafting a malicious URL that sets the response Content-Type to text/html via a GET parameter. It affects all versions of go-httpbin prior to 2.18.0. The vulnerability was originally published by the maintainer on March 20, 2025, and assigned CVE-2025-45286 with a CVSS v3.1 base score of 6.1 (Medium) (GitHub Advisory, Red Hat CVE).

Technical details

The root cause is improper neutralization of script-related HTML tags in web page output (CWE-80 / CWE-79), where go-httpbin allows clients to freely control the Content-Type response header via GET query parameters. When an attacker sets Content-Type=text/html, the browser interprets the response body as HTML, enabling injected script payloads to execute. Three specific endpoints are affected: /response-headers?Content-Type=text/html&xss=<payload>, /base64/<encoded_payload>?content-type=text/html, and /base64/decode/<encoded_payload>?content-type=text/html. Exploitation requires no authentication but does require user interaction — a victim must visit a crafted URL (GitHub Advisory).

Impact

Successful exploitation allows an attacker to execute arbitrary JavaScript in the context of a victim's browser session against the go-httpbin instance. Potential consequences include theft of sensitive personal information, CSRF token access, session hijacking, cookie injection, credential theft, and phishing. The CVSS assessment reflects low confidentiality and low integrity impact with no availability impact; the scope is changed (affecting the user's browser context beyond the vulnerable component itself) (GitHub Advisory, Red Hat CVE).

Exploitability

There is no evidence of active in-the-wild exploitation or a public proof-of-concept exploit at this time. The EPSS score is approximately 0.006% (0th percentile), indicating a very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported (GitHub Advisory, Red Hat CVE).

Exploitation steps

  1. Identify target: Locate a publicly accessible or internally deployed instance of go-httpbin running a version prior to 2.18.0.
  2. Craft malicious URL: Construct a URL targeting one of the vulnerable endpoints with a Content-Type=text/html parameter and an XSS payload, for example:
    • /response-headers?Content-Type=text/html&xss=%3Cimg/src/onerror=alert(%27xss%27)%3E
    • /base64/PGltZy9zcmMvb25lcnJvcj1hbGVydCgneHNzJyk+?content-type=text/html
  3. Deliver to victim: Send the crafted URL to a target user via phishing email, social engineering, or embedding it in a malicious web page.
  4. Payload executes: When the victim clicks the link, their browser receives a response with Content-Type: text/html containing the injected payload, causing the script to execute in the browser context of the go-httpbin origin.
  5. Achieve objective: The executed script can steal cookies, capture CSRF tokens, perform actions on behalf of the victim, or redirect to a phishing page (GitHub Advisory).

Indicators of compromise

  • Network: HTTP GET requests to go-httpbin endpoints containing Content-Type=text/html or content-type=text/html as a query parameter, particularly to /response-headers, /base64/, or /base64/decode/ paths; requests with URL-encoded HTML/script tags (e.g., %3Cimg, %3Cscript, onerror=) in query strings.
  • Logs: Web server access logs showing requests to the above endpoints with suspicious query parameters containing HTML tags or JavaScript event handlers; repeated requests from the same IP with varying XSS payloads (indicating probing).
  • Browser/Client Side: Unexpected JavaScript alert dialogs or redirects when accessing go-httpbin URLs; anomalous outbound network requests from the browser to attacker-controlled domains after visiting a go-httpbin URL (GitHub Advisory).

Mitigation and workarounds

The primary remediation is to upgrade go-httpbin to version 2.18.0 or later, which restricts client control over the Content-Type response header by allowing only safe, whitelisted values (GitHub Advisory). The fix is available at the v2.18.0 release tag (mccutchen/go-httpbin@0decfd1). As interim mitigations, deploying a Web Application Firewall (WAF) with XSS detection rules can help block crafted requests, and network access to go-httpbin instances should be restricted to trusted users only. Organizations should also educate users not to click unsolicited links pointing to internal or external httpbin instances.

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-68981HIGH8.8
  • NixOS logoNixOS
  • cpe:2.3:a:apache:nifi
NoYesAug 03, 2026
CVE-2026-69153MEDIUM6.3
  • JavaScript logoJavaScript
  • unleash-server
NoYesAug 03, 2026
CVE-2026-68979MEDIUM5.9
  • NixOS logoNixOS
  • cpe:2.3:a:apache:nifi
NoYesAug 03, 2026
CVE-2026-64640MEDIUM5.3
  • Python logoPython
  • polaris
NoYesAug 06, 2026
CVE-2026-68980LOW2.3
  • NixOS logoNixOS
  • cpe:2.3:a:apache:nifi
NoYesAug 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management