curl / Docs / Security Problems / control code in cookie denial of service

CVE-2022-35252: control code in cookie denial of service

Project curl Security Advisory, August 31 2022 - Permalink

VULNERABILITY

When curl retrieves and parses cookies from an HTTP(S) server, it accepts cookies using control codes (byte values below 32). When cookies that contain such control codes are later sent back to an HTTP(S) server, it might make the server return a 400 response. Effectively allowing a "sister site" to deny service to siblings.

We are not aware of any exploit of this flaw.

INFO

This flaw in the code was initially introduced in curl 4.9 but HTTP(S) servers back then did not generally reject requests using control codes so this mistake did not actually cause problems until HTTP(S) servers started doing this much later. Different server implementations of course doing it at different times (with some also still accepting them just fine).

The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2022-35252 to this issue.

CWE-1286: Improper Validation of Syntactic Correctness of Input

Severity: Low

AFFECTED VERSIONS

libcurl is used by many applications, but not always advertised as such!

THE SOLUTION

fix for CVE-2022-35252

RECOMMENDATIONS

A - Upgrade curl to version 7.85.0

B - Apply the patch to your local version

C - Do not enable the cookie engine

TIMELINE

This issue was reported to the curl project on June 26, 2022. We contacted distros@openwall on August 22.

libcurl 7.85.0 was released on August 31 2022, coordinated with the publication of this advisory.

CREDITS

Thanks a lot!