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.
{ "CWE": { "id": "CWE-662", "desc": "Improper Synchronization" }, "award": { "amount": "480", "currency": "USD" }, "URL": "https://curl.se/docs/CVE-2023-28320.json", "package": "curl", "severity": "Low", "issue": "https://hackerone.com/reports/1929597", "www": "https://curl.se/docs/CVE-2023-28320.html", "last_affected": "8.0.1" }