CVE-2026-8924: trailing dot domain super cookie
What the report claims
curl incorrectly accepts a trailing-dot public suffix cookie (e.g., Domain=co.uk.) and later sends it to another trailing-dot host, while rejecting the canonical form (Domain=co.uk) without a trailing dot.
Compare with curl's recorded outcome
Known vulnerability
A real vulnerability: CVE-2026-8924 trailing dot domain super cookie
Shown for comparison after analysis. The pipeline did not see this label.
ProveIt's finding
There is not enough information to verify the reported bug.
Why this finding?
- No curl source code was provided for the revision db4a6f286bbc (master on 2026-05-13), despite deterministic checks confirming the revision exists
- All claims depend on specific cookie domain matching and PSL checking logic that cannot be examined
- External source E1 mentions 'cookie: trim trailing dots when checking PSL' in a commit log, suggesting related work exists, but the actual code is not available for analysis
- The PoC script referenced in the report was not provided
What still needs checking
- curl source code for cookie domain matching and PSL validation (likely lib/cookie.c, lib/psl.c, or similar) at revision db4a6f286bbc
- The PoC script (curl_trailing_dot_psl_demo.py) to understand the exact test conditions
How this analysis ran 5 claims · 0 citations verified
Checked against curl master on 2026-05-13 (db4a6f286bbc). Dev evaluation split. Citation verification checks that a referenced line was in the evidence; it does not prove the model interpreted it correctly.
Review a draft reply to the reporter
Edit and verify before sending.
Thank you for the detailed report. To evaluate this, we need the curl source code for the cookie domain matching and PSL validation logic at the tested revision (db4a6f286bbc). The deterministic checks confirm this revision exists but the code was not retrieved. Please provide the relevant files (likely lib/cookie.c, lib/psl.c, or similar) or confirm the revision hash so we can fetch the code. Also, sharing the PoC script would help reproduce the issue.
Inspect all claims and source code 5 claims · 0 code excerpts
Report claims
curl rejects a canonical public suffix cookie such as Domain=co.uk but accepts the trailing-dot variant Domain=co.uk. when the request host also uses a trailing dot
Read the reasoning
The report claims curl rejects canonical public suffix cookies (Domain=co.uk) but accepts trailing-dot variants (Domain=co.uk.) when the request host uses a trailing dot. No curl source code was provided to verify the cookie domain matching logic or PSL checking behavior. The deterministic checks confirm the revision exists (db4a6f286bbc) but the curl_source section states 'no curl code could be retrieved for this report'. Without the relevant cookie handling code (likely in lib/cookie.c or similar), this claim cannot be verified.
the flaw occurs in the cookie matching logic that compares the request hostname with the cookie's Domain attribute
Read the reasoning
The report locates the flaw in 'cookie matching logic that compares the request hostname with the cookie's Domain attribute'. No source code was provided to confirm this location or examine the logic.
a response from a trailing-dot hostname (e.g., foo.co.uk.) sets Set-Cookie: trail=1; Domain=co.uk.; Path=/
Read the reasoning
The trigger describes a specific attack vector (trailing-dot hostname setting a trailing-dot Domain cookie). While plausible, the code path that processes Set-Cookie headers and validates Domain attributes against PSL was not provided.
curl later sends the cookie to another trailing-dot host (e.g., bar.co.uk.) during a redirect, causing cross-site cookie exposure
Read the reasoning
The impact claim depends on the flaw in C1 being real. Without verifying the underlying cookie matching behavior, the impact cannot be assessed.
the attached PoC script uses curl's normal cookie engine and --connect-to options to demonstrate the acceptance of the trailing-dot cookie and its subsequent transmission
Read the reasoning
The PoC script was not provided in the materials. The report describes its operation but the actual script content is unavailable for review.
What the report says about other projects
not addressed The public suffix list (PSL) defines that a domain ending with a trailing dot is not a public suffix and should be treated as a host name, not a domain for cookie setting
not addressed cookie: trim trailing dots when checking PSL
not addressed CVE-2022-27779: cookie for trailing dot TLD
Read the original report (excerpt)
Source code
No source code was retrieved for this analysis. The evidence may be incomplete.