curl / Docs / curl CVEs / cookie for trailing dot TLD
Awarded 2400 USD

CVE-2022-27779

cookie for trailing dot TLD

Project curl Security Advisory, May 11 2022 - Permalink

VULNERABILITY

libcurl wrongly allows HTTP cookies to be set for Top Level Domains (TLDs) if the hostname is provided with a trailing dot.

curl can be told to receive and send cookies when communicating using HTTP(S). curl's "cookie engine" can be built with or without Public Suffix List awareness. If PSL support not provided, a more rudimentary check exists to at least prevent cookies from being set on TLDs. This check was broken if the hostname in the URL uses a trailing dot.

This can allow arbitrary sites to set cookies that then would get sent to a different and unrelated site or domain.

INFO

This vulnerability only exists when curl is built without libpsl. Without this PSL support built-in, curl is also destined to possibly leak cookies cross sites simply due to how public suffixes work.

This flaw is similar to CVE-2014-3620, although in 2014 curl did not have PSL support.

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

CWE-201: Information Exposure Through Sent Data

Severity: Medium

AFFECTED VERSIONS

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

SOLUTION

RECOMMENDATIONS

A - Upgrade curl to version 7.83.1

B - Apply the patch to your local version

C - Build libcurl with libpsl support

D - Do not use cookies

TIMELINE

This issue was reported to the curl project on April 28, 2022. We contacted distros@openwall on May 5.

libcurl 7.83.1 was released on May 11 2022, coordinated with the publication of this advisory.

CREDITS

Thanks a lot!