Skip to main content
← All vulnerabilities
CVE-2026-107928

info leak uploading over WebSockets with GnuTLS

Only curl 7.86.0 through 8.22.0 built with the GnuTLS backend and using WebSockets is affected. curl rates it Low despite CVSS 8.1. Fixed in 8.23.0.

Published
Last modified
published
Not listed in CISA KEV
Unclear
Low (curl)
Fix
Fixed in 8.14.3, 8.16.2, 8.20.2, 8.23.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

When curl is built with GnuTLS, a malicious WebSocket server can make curl send memory past its send buffer. This is due to an out of bounds read following when `gnutls_record_send()` returns a number of bytes sent **greater than the number of bytes it was given to send**. GnuTLS does that after a blocked send.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • curl curl

    From 8.22.0 · through 8.22.0; From 8.21.0 · through 8.21.0; From 8.20.0 · through 8.20.0; From 8.19.0 · through 8.19.0; From 8.18.0 · through 8.18.0; From 8.17.0 · through 8.17.0; From 8.16.0 · through 8.16.0; From 8.15.0 · through 8.15.0; From 8.14.1 · through 8.14.1; From 8.14.0 · through 8.14.0; From 8.13.0 · through 8.13.0; From 8.12.1 · through 8.12.1; From 8.12.0 · through 8.12.0; From 8.11.1 · through 8.11.1; From 8.11.0 · through 8.11.0; From 8.10.1 · through 8.10.1; From 8.10.0 · through 8.10.0; From 8.9.1 · through 8.9.1; From 8.9.0 · through 8.9.0; From 8.8.0 · through 8.8.0; From 8.7.1 · through 8.7.1; From 8.7.0 · through 8.7.0; From 8.6.0 · through 8.6.0; From 8.5.0 · through 8.5.0; From 8.4.0 · through 8.4.0; From 8.3.0 · through 8.3.0; From 8.2.1 · through 8.2.1; From 8.2.0 · through 8.2.0; From 8.1.2 · through 8.1.2; From 8.1.1 · through 8.1.1; From 8.1.0 · through 8.1.0; From 8.0.1 · through 8.0.1; From 8.0.0 · through 8.0.0; From 7.88.1 · through 7.88.1; From 7.88.0 · through 7.88.0; From 7.87.0 · through 7.87.0; From 7.86.0 · through 7.86.0

References 3

curl.se

hackerone.com

FAQ

Questions about CVE-2026-107928

What does this mean?

A malicious WebSocket server can make curl send data from a neighboring heap buffer in a later send call, or crash. It is triggered when a send over TLS hits EAGAIN and is followed by an automated WebSocket PONG response.Source: curl.se, curl.se

Am I affected, and how do I check?

Affected are curl 7.86.0 through 8.22.0 built with the GnuTLS TLS backend. Run curl --version to check the version and see which TLS library is listed.Source: curl.se, curl.se

What should I do about it?

Upgrade to curl 8.23.0. For the older branches, the fixed releases are 8.14.3, 8.16.2, and 8.20.2.Source: curl.se, curl.se

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data

Why is it rated 8.1 High?

CVSS scores the worst case at 8.1 (high). curl rates it Low, reflecting the narrow setup needed: a GnuTLS build used for WebSockets.Source: curl.se, curl.se