Stack Buffer Overflow in cURL Cookie Parsing Leads to RCE
What the report claims
Stack buffer overflow in cURL's cookie parsing mechanism leads to remote code execution.
Compare with curl's recorded outcome
Labeled AI slop
curl's maintainer lists this report as AI slop
Shown for comparison after analysis. The pipeline did not see this label.
ProveIt's finding
The code does what the report says, but curl's own policy may exclude it. A maintainer decides.
curl policy: NULL dereferences and crashesSee the withdrawn model reasoning
The following reasoning failed the citation check and does not support the final finding.
- The PoC demonstrates a buffer overflow in the reporter's own test code (calling strlen() on an unterminated local buffer), not in cURL's cookie parsing logic.
- The ASAN stack trace shows the crash at exact_vulnerability_poc.c:124 with no cURL functions involved.
- No cURL source code was provided, and the deterministic check only confirms CURLOPT_COOKIEFILE exists — not that any cookie parsing code has the claimed flaw.
- The report's central claim is contradicted by the very evidence it provides: the overflow is in the PoC, not in libcurl.
What still needs checking
- Actual cURL cookie parsing source code (e.g., lib/cookie.c or similar) showing a stack buffer used without bounds checking
- A PoC that exercises cURL's HTTP response handling and cookie parser (e.g., via CURLOPT_COOKIEFILE or CURLOPT_COOKIEJAR) and triggers the overflow inside libcurl
How this analysis ran 6 claims · 0 citations verified
Evidence check: the behavior is real; the project's policy section 'NULL dereferences and crashes' may exclude it
Checked against curl master on 2025-09-16 (98d5321530e4). Test evaluation split. Citation verification checks that a referenced line was in the evidence; it does not prove the model interpreted it correctly.
Inspect the withdrawn draft reply
This draft belongs to the withdrawn judgment. It may contain unsupported claims.
The AddressSanitizer trace you provided shows the stack-buffer-overflow occurring in your PoC's `trigger_exact_overflow()` function (exact_vulnerability_poc.c:124) when it calls `strlen()` on a local 8192-byte buffer that you deliberately left without a null terminator. No cURL functions appear in the stack trace, and the PoC does not invoke any cURL cookie-parsing API. To substantiate a cURL vulnerability, please provide: (1) the specific cURL source file and function where the unbounded `strlen()` or equivalent occurs, and (2) a reproducer that triggers the flaw via libcurl's public API (e.g., an HTTP response with a large Set-Cookie header processed through CURLOPT_COOKIEFILE/COOKIEJAR).
Inspect all claims and source code 6 claims · 0 code excerpts
This model judgment was withdrawn. The claim assessments below are preserved for inspection and may be wrong.
Report claims
Stack-based buffer overflow occurs when processing maliciously crafted HTTP cookies
Read the reasoning
The PoC creates a local stack buffer `huge_cookie[8192]`, fills it without a null terminator, and calls `strlen()` on it. This is undefined behavior in the reporter's own test code, not a vulnerability in cURL's cookie parsing. The ASAN trace shows the crash at `trigger_exact_overflow exact_vulnerability_poc.c:124`, with no cURL functions in the stack.
Cookie parsing functionality where string length calculations exceed allocated stack buffer boundaries
Read the reasoning
The referenced file `cookie_vulnerability_hunter.c` is not a cURL source file. The curl_source section states '(no curl code could be retrieved for this report)'. Without actual cURL cookie parsing code, this claim cannot be verified against the project.
Oversized cookie data through HTTP responses
Read the reasoning
The reproduction steps in the PoC do not involve HTTP responses or cURL's cookie parser. The claim describes a theoretical attack vector but the provided code does not demonstrate reachability through cURL's HTTP/cookie handling.
Remote code execution via stack overflow
Read the reasoning
The impact claim is speculative. The only demonstrated behavior is a stack-buffer-overflow in the PoC's `strlen()` call on an unterminated local buffer. No cURL code path to RCE is shown.
ASAN_OPTIONS="abort_on_error=1" ./exact_poc
Read the reasoning
The reproduction command runs the reporter's standalone test program. It does not exercise cURL's cookie parsing, so it does not reproduce a cURL vulnerability.
READ of size 8193 at address 0x00016f00a5c0
Read the reasoning
The ASAN trace confirms the overflow occurs in the reporter's PoC code when calling `strlen()` on a non-null-terminated local buffer. No cURL symbols appear in the stack trace.
Read the original report (excerpt)
Source code
No source code was retrieved for this analysis. The evidence may be incomplete.