libcurl provides several different backends for resolving hostnames, selected
at build time. If it is built to use the synchronous resolver, it allows name
resolves to time-out slow operations using alarm()
and siglongjmp()
.
When doing this, libcurl used a global buffer that was not mutex protected and a multi-threaded application might therefore crash or otherwise misbehave.
{ "last_affected": "8.0.1", "award": { "amount": "480", "currency": "USD" }, "package": "curl", "URL": "https://curl.se/docs/CVE-2023-28320.json", "severity": "Low", "CWE": { "desc": "Improper Synchronization", "id": "CWE-662" }, "issue": "https://hackerone.com/reports/1929597", "affects": "lib", "www": "https://curl.se/docs/CVE-2023-28320.html" }