Critical Certificate Pinning Omission in libcurl for QUIC Connections

curl Updated 02 Oct 2025

Summary

28/05/2025
N/A
Yes i
Unrated
Not published

CVE-2025-5025: libcurl supports *pinning* of the server certificate public key for HTTPS transfers. Affects curl across 2 version ranges.

< 8.14.0-r0 >= 7161cb17c01dcff1dc5bf89a18437d9d729f1ecd, < 4dacb79fcdd9364c1083e06f6a011d797a344f47

Fixed in 8.14.0-r0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

libcurl is a widely used open-source client-side URL transfer library that supports various protocols including HTTP, HTTPS, FTP, and more. It is known for its versatility and is utilized in numerous applications for data transfer over the internet. The library's ability to pin server certificate public keys enhances security by ensuring that clients connect only to trusted servers. However, a recent vulnerability has been identified that affects the QUIC protocol when using the wolfSSL TLS backend, potentially exposing users to man-in-the-middle attacks.

Vulnerability Detail

The vulnerability, identified as CVE-2025-5025, arises from an omission in libcurl's implementation of certificate pinning for QUIC connections when using the wolfSSL backend. Although the documentation suggests that certificate pinning is supported, it fails to clarify that this feature does not function for QUIC and HTTP/3 connections. As a result, users may unknowingly connect to impostor servers if the pinning check is not performed, leading to potential data breaches and security risks.

How To Fix

Minimum fixed version

8.14.0-r0

This is the first release that contains the fix.

sudo apk add --upgrade curl

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, users can avoid using QUIC for HTTP/3 connections when utilizing the wolfSSL backend until a patch is applied. This can be done by configuring the application to use traditional HTTP/2 or HTTP/1.1 protocols instead.

Conclusion

CVE-2025-5025 presents a significant security risk for users of libcurl who utilize QUIC connections with the wolfSSL backend. It is crucial to update to the latest version of the curl package to mitigate this vulnerability and ensure secure connections. Additionally, users should consider using alternative protocols until a patch is applied.

See every vulnerability recorded for curl →

Share this vulnerability

FAQ

CVE-2025-5025 is a vulnerability in libcurl that affects the certificate pinning feature for QUIC connections when using the wolfSSL TLS backend.

Users may unknowingly connect to malicious servers without the protection of certificate pinning, leading to potential data theft or man-in-the-middle attacks.

You should update your curl package to the latest version that includes a fix for this vulnerability.

Yes, you can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

Vulert is a tool that monitors and alerts in real-time for open-source vulnerabilities in software using just a manifest file like package-lock.json.

Related vulnerabilities

Recent vulnerabilities recorded for curl.

How To Fix

Minimum fixed version

8.14.0-r0

This is the first release that contains the fix.

sudo apk add --upgrade curl

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback