The curl user survey 2022 is up. Please donate a few minutes of your time and answer a few questions!
curl / Docs / Security Problems / CERTINFO never-ending busy-loop

CERTINFO never-ending busy-loop

Project curl Security Advisory, May 11 2022 - Permalink

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

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!