Internet Bug Bounty · Report #1606039
CVE-2022-27781: CERTINFO never-ending busy-loop
Summary
CERTINFO never-ending busy-loop Project curl Security Advisory, May 11 2022
VULNERABILITY libcurl provides the CURLOPT_CERTINFO option to allow applications to request details to be returned about a TLS server's certificate chain.
Due to an erroneous function, a malicious server could make libcurl built with NSS get stuck in a never-ending busy-loop when trying to retrieve that information.
We are not aware of any exploit of this flaw.
INFO This flaw was introduced in commit f6c335d63f, shipped in curl 7.34.0 when libcurl added support for CERTINFO using NSS.
This feature is not accessible from the command line tool.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name CVE-2022-27781 to this issue.
CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop')
Severity: Low
AFFECTED VERSIONS Affected versions: curl 7.34.0 to and including 7.83.0 Not affected versions: curl < 7.34.0 and curl >= 7.83.1 libcurl is used by many applications, but not always advertised as such!
THE SOLUTION A fix for CVE-2022-27781
RECOMMENDATIONS A - Upgrade curl to version 7.83.1
B - Apply the patch to your local version
C - Do not use the CURLOPT_CERTINFO option
TIMELINE This issue was reported to the curl project on April 30, 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 This issue was reported by Florian Kohnhäuser. Patched by Daniel Stenberg.
Thanks a lot!
Security Advisory link: https://curl.se/docs/CVE-2022-27781.html
How it was found
Published Advisory: https://curl.se/docs/CVE-2022-27781.html
Original Report: https://hackerone.com/reports/1555441
Impact
Due to an erroneous function, a malicious server could make libcurl built with NSS get stuck in a never-ending busy-loop when trying to retrieve that information.