Operating system, libraries and runtimes
OpenSSL DTLS handshake retransmission read (CVE-2026-84782)
OpenSSL check
OpenSSL's security release of 29 September 2026 fixed 14 flaws. One is rated High: CVE-2026-84782, "DTLS retransmits handshake messages from a stale buffer offset". When DTLS retransmits a handshake message it can read from the wrong place in a buffer, so a remote peer may receive unintended plaintext heap memory in the handshake data, or the program may crash. CISA scored it 8.2 (confidentiality low, availability high). It was found by Laurent Gaffie of Secorizon, with the fix by Ryan Hooper. The FIPS module is not affected.
| CVE | CVE-2026-84782 |
| Severity | High, 8.2 |
| Reachable through | DTLS (TLS over UDP) only |
| Affected | 4.0.0 before 4.0.3, 3.6 before 3.6.5, 3.5 before 3.5.9, 3.4 before 3.4.8, 3.0 before 3.0.23, 1.1.1 before 1.1.1zj, 1.0.2 before 1.0.2zs |
| Fixed, public | 4.0.3, 3.6.5, 3.5.9, 3.4.8 |
| Fixed, premium support only | 3.0.23, 1.1.1zj, 1.0.2zs. Public support for 3.0 ended on 7 September 2026. Branches 3.1 to 3.3 are end of life and were not evaluated by OpenSSL |
| Ubuntu | Fixed in openssl 3.5.5-1ubuntu3.6 (26.04), 3.0.13-0ubuntu3.16 (24.04) and 3.0.2-0ubuntu1.30 (22.04). Older releases were still marked "needs evaluation" |
Who is actually exposed
Software that speaks DTLS: VPN servers such as ocserv, VoIP and WebRTC servers such as Asterisk, FreeSWITCH, Janus and coturn, and IoT endpoints. Ordinary TLS (HTTPS, SMTP, IMAP, databases) does not use the vulnerable code. Node.js and Python's ssl module have no DTLS API. A host with an affected OpenSSL and no DTLS service has little practical exposure, but the library should still be updated.
How the script decides
| Case | Judgment |
|---|---|
| A distribution package whose changelog names CVE-2026-84782 | Fixed: a backport, whatever the version says |
| An Ubuntu package, no changelog entry | Compared with the fixed package versions above. Releases not listed are reported as unconfirmed |
| Another distribution's package, no changelog entry | "Cannot confirm": check your vendor's tracker. The script does not guess from the upstream number, because distributions backport |
| A copy no package owns (a local build) | The upstream version against the table. 3.0, 1.1.1 and 1.0.2 are reported as affected with a premium-only fix; 3.1 to 3.3 as end of life |
A copy bundled under /opt, /usr/local, /srv or /home |
The version string inside its libcrypto, against the table |
A development or alpha/beta build of a fixed release itself (3.6.5-dev, 4.0.3-alpha2) |
Not judged as the release: it may not carry the fix. Warns, exit 1. A -dev build of a later release (3.6.6-dev) is fixed |
A package version string, or openssl output, that the script cannot parse |
Reported as unreadable with the versions to check by hand, exit 1; never as clean |
It also reports running DTLS-capable daemons from a short list, and processes that still hold a replaced OpenSSL in memory, because a library update does not reach a running process until it restarts. LibreSSL is not OpenSSL and is not affected. Node.js's bundled OpenSSL is reported for information.
Quick start
curl -fLO https://raw.githubusercontent.com/PrivacySafe/security-patches/refs/heads/main/openssl/openssl-check.sh
less openssl-check.sh
chmod +x openssl-check.sh
./openssl-check.sh check
Commands
| Command | What it does |
|---|---|
check (default) |
Judges the system OpenSSL, bundled copies, DTLS daemons and stale processes. Exit 0 nothing exposed, 1 an affected or unconfirmed OpenSSL |
version |
Prints the script version |
Env: OPENSSL_BIN, OPENSSL_PKG_VERSION, OPENSSL_OS_RELEASE, OPENSSL_CHANGELOG, OPENSSL_PROC and OPENSSL_NODE override the openssl command, the package version, /etc/os-release, a changelog file (plain or .gz), /proc and the node command. OPENSSL_NO_PACKAGE=1 treats the installed openssl as not owned by a package.
Update
Update the OpenSSL package, then restart the services that use it (needrestart, or a reboot). For 3.0, 1.1.1 and 1.0.2 without a vendor backport, the public fix does not exist: move to a supported branch (3.4 or later) or use a distribution package that carries the fix.
Sources
- OpenSSL vulnerabilities page
- Ubuntu: CVE-2026-84782
- The Hacker News: OpenSSL fixes a high-severity DTLS flaw
Before you run it
- The fix. Update the OpenSSL package, then restart the services that use it (
needrestartor a reboot). Fixed public releases are 4.0.3, 3.6.5, 3.5.9 and 3.4.8. For 3.0, 1.1.1 and 1.0.2 the fix is available only to premium-support customers, and 3.1 to 3.3 are end of life. - A distribution build is judged by its package. Ubuntu's fixed builds (26.04: 3.5.5-1ubuntu3.6, 24.04: 3.0.13-0ubuntu3.16, 22.04: 3.0.2-0ubuntu1.30) and the package changelog naming the CVE come first. The upstream version is used only for a build that is not from a package. For other distributions the script points you to your distribution's advisory.
- The flaw is only reachable through DTLS. Ordinary TLS services do not use the vulnerable code, and Node.js has no DTLS API. The script lists the DTLS-capable services it finds running and processes still holding a replaced OpenSSL in memory.
- It also reads running containers. With
SCAN_CONTAINERS=1(the default) it asks each running docker and podman container for its own distribution, package andopenssl version, and judges it by the container's rules, not the host's. OpenSSL linked statically into a program, inside or outside a container, is not visible. Copies bundled under/opt,/usr/local,/srvand/homeare listed, and whoever ships that software updates them. There is no hunt.
Red Hat advisories
Red Hat's advisory list (security advisories released 2026-04-01 to 2026-11-03) names the CVEs below. A Red Hat build is judged by its RPM release, not by the upstream version number, because Red Hat backports fixes: the advisory names the release that fixes it. A CVE with no advisory in the list has none for that period, which is not the same as not affected. The current state is on Red Hat's CVE database.
Other packages that bundle OpenSSL carry the same CVE; they are counted, not listed.
| Advisory | Released | Severity | Package and stream | CVEs on this page |
|---|---|---|---|---|
| RHSA-2026:74162 | 2026-09-30 | Important | openssl-3.5.9-0.1.hum1 (Hummingbird) |
CVE-2026-84782 |
| RHSA-2026:74166 | 2026-09-30 | Important | openssl3-3.5.9-0.1.hum1 (Hummingbird) |
CVE-2026-84782 |
| RHSA-2026:76918 | 2026-10-08 | Important | openssl-3.5.8-2.el10_2 (RHEL 10.2) |
CVE-2026-84782 |
| RHSA-2026:77396 | 2026-10-08 | Important | openssl-3.5.8-2.el9_8 (RHEL 9.8) |
CVE-2026-84782 |
| RHSA-2026:80510 | 2026-10-12 | Important | compat-openssl10-1.0.2o-4.el8_10.4 (RHEL 8.10) |
CVE-2026-84782 |
| RHSA-2026:80514 | 2026-10-12 | Moderate | compat-openssl11-1.1.1k-5.el9_8.6 (RHEL 9.8) |
CVE-2026-84782 |
| RHSA-2026:85968 | 2026-10-20 | Important | openssl-1.1.1k-18.el8_6 (RHEL 8.6) |
CVE-2026-84782 |
| RHSA-2026:85970 | 2026-10-20 | Important | openssl-1.1.1g-18.el8_4.4 (RHEL 8.4) |
CVE-2026-84782 |
| RHSA-2026:89736 | 2026-10-26 | Important | compat-openssl11-1.1.1k-5.el9_4.4 (RHEL 9.4) |
CVE-2026-84782 |
| RHSA-2026:89737 | 2026-10-26 | Important | compat-openssl11-1.1.1k-4.el9_2.3 (RHEL 9.2) |
CVE-2026-84782 |
| RHSA-2026:89738 | 2026-10-26 | Important | compat-openssl11-1.1.1k-5.el9_6.4 (RHEL 9.6) |
CVE-2026-84782 |
- CVE-2026-84782: 31 advisories, 2026-08-17 to 2026-10-29; 25 important, 5 critical, 1 moderate; by stream, RHEL 8 3, RHEL 9 5, RHEL 10 1, Hummingbird 7, container image 15; most often
openssl(5),compat-openssl11(4),satellite/iop-host-inventory-rhel9(2),satellite/iop-vmaas-rhel9(2). All of them: Red Hat's CVE page.
The Security Patches software and this documentation are dedicated to the public domain under CC0 1.0 Universal. Other pages on privacysafe.app/docs are CC BY-SA 4.0 unless the page says otherwise.