Description
1. A cookie is set using the `secure` keyword for `https://target` 2. curl is redirected to or otherwise made to speak with `http://target` (same hostname, but using clear text HTTP) using the same cookie set 3. The same cookie name is set - but with only a slash as path (`path="/"`). Since this site is not secure, the cookie *should* be ignored. 4. A bug in the path comparison logic makes curl read outside a heap buffer boundary The bug either causes a crash or it potentially makes the comparison come to the wrong conclusion and lets the clear-text site override the contents of the secure cookie, contrary to expectations and depending on the memory contents immediately following the single-byte allocation that holds the path. The presumed and correct behavior would be to plainly ignore the second set of the cookie since it was already set as secure on a secure host so overriding it on an insecure host should not be okay.
CVSS breakdown
Affected products
- curl / curl8.15.0 – 8.15.0
- curl / curl8.14.1 – 8.14.1
- curl / curl8.14.0 – 8.14.0
- curl / curl8.13.0 – 8.13.0
- curl / curl8.13.0 – 8.14.2
- curl / curl8.15.0 – 8.16.0
- curl / curl1aea05a6c2699e80c75936d58569851555acd603 – c6ae07c6a541e0e96d0040afb62b45dd37711300
- Debian / debian_linux11.0 – 11.0
- haxx / curl8.13.0 – 8.16.0