HexBrain

Internet Bug Bounty · Report #1686935

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

Validstatus
lowseverity
8upvotes
5 Nov 2022disclosed

Summary

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

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

  • Affected versions: curl 4.9 to and including 7.84.0
  • Not affected versions: curl < 4.9 and curl >= 7.85.0

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.

How it was found

https://hackerone.com/reports/1613943

Impact

control code in cookie denial of service

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original