libcurl supports *pinning* of the server certificate public key for HTTPS transfers. Due to an omission, this check is not performed when connecting with QUIC for HTTP/3, when the TLS backend is wolfSSL. Documentation says the option works with wolfSSL, failing to specify that it does not for QUIC and HTTP/3. Since pinning makes the transfer succeed if the pin is fine, users could unwittingly connect to an impostor server without noticing.
The product does not validate, or incorrectly validates, a certificate.
Link | Tags |
---|---|
https://curl.se/docs/CVE-2025-5025.json | vendor advisory |
https://curl.se/docs/CVE-2025-5025.html | vendor advisory |
https://hackerone.com/reports/3153497 | third party advisory issue tracking exploit |
http://www.openwall.com/lists/oss-security/2025/05/28/5 | mailing list third party advisory |