On this page · 10 sections
  1. OpenSSL Lines, Fixed Releases and Affected CVEs
  2. CVE-2026-84782: DTLS Retransmission From a Stale Buffer Offset
  3. CVE-2026-84783: X.509 Extension Cache Use-After-Free on 4.0 Only
  4. Five QUIC Denial-of-Service Flaws
  5. Timing Side Channels in Non-NIST and SM2 Signing
  6. Certificate Memory, SSL_CTX Switching, CMP and DTLS 1.2
  7. OpenSSL 4.1.0, the New Feature Line
  8. Updating OpenSSL and the Software That Bundles It
  9. Checking Which OpenSSL a System and Its Runtimes Use
  10. Sources

Security release

Status as of 2026-11-13

14 CVEs

OpenSSL

Highest CVSS8.2High
First fixed in
1.0.2zs, 1.1.1zj, 3.0.23, 3.4.8, 3.5.9, 3.6.5, 4.0.3The earliest release on each line that fixes these CVEs. The release to install is in the article's upgrade steps.
Exploited
None known · CISA SSVC
Published
2026-09-29

Most severe first

  1. CVE-2026-84782High8.2DTLS Retransmits Handshake Messages From a Stale Buffer Offset
  2. CVE-2026-54873High7.5QUIC STREAM Fragment Metadata DoS
  3. CVE-2026-72897High7.5Out-of-Bounds Access After SSL_set_SSL_CTX() During a Handshake
  4. CVE-2026-84783High7.5Use-After-Free in X.509 Extension Cache Under Concurrent Use
  5. CVE-2026-84784High7.5QUIC: Unbounded RETIRE_CONNECTION_ID Backlog
Show all 14
  1. CVE-2026-35189Medium5.3Excessive Memory Allocation in Relative CRLDP Processing
  2. CVE-2026-42772Medium5.3Potential CPU DoS via O(n^2) Fragment Reassembly in QUIC
  3. CVE-2026-75804Medium5.3QUIC Connection-Level Flow Control is Not Enforced for Streams
  4. CVE-2026-75805Medium5.3NULL Pointer Dereference in CMP Client Revocation Response Handling
  5. CVE-2026-75806Medium5.3Unauthenticated and Undersized DTLS 1.2 AEAD Record Causes DoS
  6. CVE-2026-35191Low3.7QUIC Unvalidated Amplification Credit may be Over Accounted
  7. CVE-2026-54872Low3.7Timing Side-Channel in Scalar Multiplication for Non-NIST EC Curves
  8. CVE-2026-54875Low3.7Non-Constant-Time SM2 Scalar Multiplication on ARM64 and RISC-V
  9. CVE-2026-77696Low3.7Timing Side-Channel in SM2 Signature Generation

Data: CVE records on cve.org

Warning

The OpenSSL security advisory of September 29 covers 14 CVEs fixed in OpenSSL 4.0.3, 3.6.5, 3.5.9 and 3.4.8. OpenSSL rates one High, CVE-2026-84782, a DTLS retransmission bug that can send heap memory to the peer or crash the process. It rates one Moderate, a use-after-free that affects only 4.0, and the other twelve Low. Five of the Low ones are in the QUIC stack and three are timing side channels. The FIPS module is not affected by any of them.

OpenSSL Lines, Fixed Releases and Affected CVEs #

Every supported line got a release on September 29, and each fixes only the CVEs that reach that line. OpenSSL 3.0, 1.1.1 and 1.0.2 receive fixes only through premium support. The advisory adds that 3.1, 3.2 and 3.3 are out of support and were not analysed.

LineFixed releaseCVEs that affect it
4.04.0.3All 14
3.63.6.513, all except CVE-2026-84783
3.53.5.913, all except CVE-2026-84783
3.43.4.812, all except CVE-2026-84783 and CVE-2026-35191
3.03.0.23, premium support only6: the High DTLS bug, CRLDP memory, the non-NIST curve and SM2 signing side channels, CMP and the DTLS 1.2 AEAD record
1.1.11.1.1zj, premium support only5: the 3.0 list without CMP
1.0.21.0.2zs, premium support only3: the High DTLS bug, CRLDP memory and the non-NIST curve side channel

Scanners may rate several of these higher than OpenSSL does. CISA-ADP added CVSS 3.1 scores to the CVE records: 8.2 for the High DTLS bug, and 7.5, also High, for the Moderate X.509 use-after-free and for three CVEs OpenSSL rates Low, CVE-2026-54873, CVE-2026-72897 and CVE-2026-84784. CISA's SSVC assessments rate exploitation of all 14 as none.

CVE-2026-84782: DTLS Retransmission From a Stale Buffer Offset #

A DTLS handshake message can be written in several fragments, and the write can pause with WANT_WRITE when the transport cannot take more data. If the retransmission timer fires during that pause, OpenSSL resent an earlier message from the buffer position where the paused write had stopped, not from its start. The resent message could carry leftover bytes from the larger message still in flight and read past the end of the buffer. The peer then receives heap memory as plaintext handshake data, or the process crashes when the read reaches unmapped memory.

It affects every line from 1.0.2 to 4.0, and only applications that use DTLS. The fix restarts the retransmission at the beginning of the message and skips retransmission while a handshake write is paused. Laurent Gaffie of secorizon.com reported it on 17 August 2026, and Ryan Hooper developed the fix.

CVE-2026-84783: X.509 Extension Cache Use-After-Free on 4.0 Only #

OpenSSL caches decoded X.509v3 extensions inside a certificate the first time they are needed. In 4.0 the cache is computed under a read lock and installed under a write lock, so several threads can build it at once and each one frees the values the previous thread installed while another caller may still use them. In TLS the exposed certificates are the trusted CA certificates, which every connection shares. A multi-threaded TLS client, or a multi-threaded server that requests client certificates, can crash when several connections build their first chains to the same CA at the same time. The advisory states that 3.6, 3.5, 3.4, 3.0, 1.1.1 and 1.0.2 are not affected, so 3.x users need no action for this CVE. Tim Becker of Xint.io reported it, and aydinmercan published it independently.

Five QUIC Denial-of-Service Flaws #

These affect only applications that use OpenSSL's own QUIC stack, on 4.0, 3.6, 3.5 and, except for the first, 3.4:

  • CVE-2026-35191: a QUIC server that does not validate client addresses counts a multi-packet datagram once per packet, so it can exceed the RFC 9000 limit of three times the received data and be used to amplify a DDoS attack. 3.4 is not affected.
  • CVE-2026-42772: out-of-order STREAM frames force a quadratic search in stream reassembly, so a peer that completes the handshake can cause CPU pressure with little bandwidth.
  • CVE-2026-54873: stream data stays in packet buffers until the application reads it, so a peer can keep far more memory allocated than the data needs; OpenSSL now copies the data once a stream's overhead passes 64 kB.
  • CVE-2026-75804: connection-level flow control was not enforced for streams, so a peer can make the stack receive about 100 MB instead of the default 768 KiB window.
  • CVE-2026-84784: a flood of NEW_CONNECTION_ID frames with withheld ACKs makes the stack queue a RETIRE_CONNECTION_ID frame for each, up to about 400 MB.

Timing Side Channels in Non-NIST and SM2 Signing #

CVE-2026-54872 affects ECDSA and SM2 signing on curves without a dedicated constant-time implementation, such as Brainpool. The time taken depends on the per-signature nonce, and over many measured signatures a lattice attack can recover the private key. The leak is very small and largest for curves whose group order lies on a machine-word boundary, such as brainpoolP384r1. The NIST curves P-256, P-384 and P-521 are not affected. Alicja Kario and George Pantelakis of Red Hat found it in a Minerva-style analysis based on a report by Youngjae Choi of Korea University.

CVE-2026-54875 concerns SM2 signing and decryption on ARM64 and RISC-V, where an optimized scalar multiplication branches on bits of the secret, and it affects 4.0 to 3.4. CVE-2026-77696 is a timing side channel in SM2 signature generation on every line from 1.1.1 to 4.0.

Certificate Memory, SSL_CTX Switching, CMP and DTLS 1.2 #

  • CVE-2026-35189: a certificate chain under the roughly 100 KiB peer limit, with many nameRelativeToCRLIssuer CRL distribution points, can make the receiver allocate several hundred MiB during a normal handshake. It affects clients and servers that request client certificates, on every line.
  • CVE-2026-72897: a TLS server that calls SSL_set_SSL_CTX() mid-handshake, usually from a servername callback for virtual hosts, can read and in some cases write past an internal array when the new context knows more provider signature algorithms. Applications that never call it are not affected.
  • CVE-2026-75805: a CMP client that requests revocation based on a PKCS#10 CSR crashes on a crafted revocation response, on 3.0 and later.
  • CVE-2026-75806: one unauthenticated datagram shorter than the explicit IV and tag tears down an established DTLS 1.2 association that uses an AEAD cipher suite, on 1.1.1 and later.

Two fixes in the same releases carry no CVE. 4.0.3, 3.6.5 and 3.5.9 fix EVP_DecryptFinal() reporting a stale success after an AES-SIV authentication failure, which matters to code that relies on that return value. 4.0.3 also fixes a 4.0 regression in which the base64 encoding BIO could lose encoded data on incomplete writes.

OpenSSL 4.1.0, the New Feature Line #

OpenSSL 4.1.0 followed on October 23 as a feature release with DTLS 1.3, RFC 8701 GREASE, DTLS support in the SSL listener API and the IKEV2 KDF. Its notes list four known DTLS issues, among them DTLS 1.3 records dropped from the retransmission buffer after a KeyUpdate. It drops the no-ecdsa and no-ecdh Configure options and the Itanium and Windows CE targets, and tsget now needs Net::Curl::Easy. For a fix to the September CVEs, the patch release on the installed line is the smaller change.

Updating OpenSSL and the Software That Bundles It #

  1. Install 4.0.3, 3.6.5, 3.5.9 or 3.4.8 for the line in use, or the distribution package that carries the backport, then restart every process that loaded the old library.
  2. Rebuild statically linked binaries and container images, and update runtimes that ship their own OpenSSL, such as Node.js or Python builds, because a system update does not reach their copy.
  3. Give DTLS services priority, since they are the only ones exposed to the High CVE; QUIC services on 3.4 and later come next.
  4. On 3.0, 1.1.1 or 1.0.2 without premium support, move to a supported line or to a vendor build with backports; on 3.1 to 3.3, which OpenSSL did not analyse, do the same.
  5. Where Brainpool or SM2 keys sign many messages for untrusted parties, update before those keys sign more, and consider rotating keys used heavily before the fix.

Checking Which OpenSSL a System and Its Runtimes Use #

The system library, a server binary and each runtime can each use a different OpenSSL, so each needs its own check. The last command shows whether an application links DTLS or QUIC functions.

Bash
openssl version -a
ldd "$(command -v nginx)" | grep -E "libssl|libcrypto"
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)"
node -p "process.versions.openssl"
nm -D --undefined-only /path/to/binary | grep -E "DTLS|OSSL_QUIC|SSL_set_SSL_CTX"

The Sentinel’s Call

Services that use DTLS should move to 4.0.3, 3.6.5, 3.5.9 or 3.4.8 first, because the only High CVE can leak heap memory to the peer. Multi-threaded TLS services on 4.0 and QUIC services on 3.4 and later come next. Everything else can follow in the normal patch cycle, since OpenSSL rates the remaining CVEs Low.

Our judgement, drawn only from the facts and sources above.

Sources

  1. Release OpenSSL 4.1.0 · openssl/openssl · GitHub github.com · Oct 23, 2026
  2. Release OpenSSL 4.0.3 · openssl/openssl · GitHub github.com · Sep 29, 2026
  3. Release OpenSSL 3.6.5 · openssl/openssl · GitHub github.com · Sep 29, 2026
  4. Release OpenSSL 3.5.9 · openssl/openssl · GitHub github.com · Sep 29, 2026
  5. OpenSSL Security Advisory [29th September 2026] openssl-library.org · Sep 29, 2026
  6. CVE-2026-84782: DTLS Retransmits Handshake Messages From a Stale Buffer Offset cve.org · Sep 29, 2026
  7. openssl/openssl openssl-3.4.8: OpenSSL 3.4.8 github.com · Sep 29, 2026

Also consulted

Next reading

Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.