PHP2Shell: Read our blog on the critical RCE vulnerabilities affecting 70% of the Internet

CVE-2026-84782: 
Ruby vulnerability analysis and mitigation

Overview

CVE-2026-84782 is a high-severity out-of-bounds read vulnerability in OpenSSL's DTLS retransmission logic, formally titled "DTLS Retransmits Handshake Messages From a Stale Buffer Offset." It was disclosed on September 29, 2026, and affects OpenSSL versions 1.0.2 (before 1.0.2zs), 1.1.1 (before 1.1.1zj), 3.0.x (before 3.0.23), 3.4.x (before 3.4.8), 3.5.x (before 3.5.9), 3.6.x (before 3.6.5), and 4.0.x (before 4.0.3). The vulnerability carries a CVSS v3.1 base score of 8.2 (High), reflecting network-accessible exploitation with no authentication required (OpenSSL Advisory, Red Hat Bugzilla).

Technical details

The root cause is an out-of-bounds read (CWE-125) in the dtls1_retransmit_message() function within OpenSSL's DTLS state machine. When a DTLS handshake message write is suspended mid-way (returning WANT_WRITE because the underlying transport BIO cannot accept more data), the internal buffer position tracker s->init_off retains the offset of the suspended write. If the DTLS retransmission timer fires independently during this suspension, dtls1_retransmit_message() copies the queued message into s->init_buf and sets s->init_num to its length, but critically does not reset s->init_off to zero. As a result, dtls1_do_write() resumes the retransmitted message from the stale, unrelated offset, producing a mislabeled fragment whose body contains leftover heap bytes from the larger in-flight message — data never intended to be transmitted. The fix, applied in commits to the OpenSSL repository, resets s->init_off = 0 before every retransmission and adds a guard in dtls1_handle_timeout() to skip retransmission when a write is already parked mid-flight (OpenSSL Commit, OpenSSL Commit).

Impact

Successful exploitation can result in two distinct outcomes: disclosure of heap memory contents to a remote peer as plaintext within a mislabeled DTLS handshake fragment, or a crash causing denial of service when the out-of-bounds read reaches an unmapped memory region. The memory disclosure risk is particularly significant for DTLS server deployments, as sensitive heap data — potentially including cryptographic material or session state — could be exposed to an unauthenticated network peer. The availability impact is rated High due to the crash potential, while confidentiality impact is rated Low, reflecting that the disclosed content is indeterminate and not directly attacker-controlled (OpenSSL Advisory, Red Hat Bugzilla).

Exploitability

As of the time of disclosure, there is no public proof-of-concept exploit and no evidence of in-the-wild exploitation (OpenSSL Advisory). The vulnerability is automatable (no user interaction or authentication required) and exploitable over the network, but triggering it requires inducing a specific race condition — a DTLS handshake write must be suspended via WANT_WRITE precisely when the retransmission timer fires. The EPSS score is 0.0039 (approximately 0.39%), indicating a low current probability of exploitation in the wild. The vulnerability has not been added to the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported.

Exploitation steps

  1. Identify target: Locate internet-facing services using DTLS (e.g., VPN gateways, DTLS-based media servers, or IoT devices) running a vulnerable OpenSSL version (1.0.2 < 1.0.2zs, 1.1.1 < 1.1.1zj, 3.0.x < 3.0.23, 3.4.x < 3.4.8, 3.5.x < 3.5.9, 3.6.x < 3.6.5, 4.0.x < 4.0.3) using tools like Shodan or Censys filtering for DTLS-enabled services.
  2. Initiate DTLS handshake: Connect to the target using a DTLS client and begin a handshake, sending a large ClientHello or Certificate message that requires multi-fragment transmission.
  3. Induce transport congestion: Throttle or congest the UDP path to the server so that the server's underlying BIO returns WANT_WRITE, suspending the handshake write mid-fragment and leaving s->init_off at a non-zero offset.
  4. Trigger retransmission timer: Wait for or artificially induce the DTLS retransmission timer to fire (typically after 1 second by default) while the write remains suspended, causing dtls1_handle_timeout() to call dtls1_retransmit_buffered_messages().
  5. Receive leaked data: Capture the retransmitted DTLS handshake fragment sent by the server, which will contain heap memory bytes starting from the stale init_off offset rather than the intended message content — potentially exposing sensitive heap data as plaintext.
  6. Repeat or crash: Repeat the process to gather additional heap content, or allow the read to reach unmapped memory to trigger a server crash and denial of service (OpenSSL Advisory, OpenSSL Commit).

Indicators of compromise

  • Network: Anomalous DTLS handshake fragments received from a server with mismatched fragment offsets or lengths relative to the declared message type; DTLS retransmission packets containing unexpected or garbled payload content not matching the expected handshake message structure.
  • Logs: Application or TLS library logs showing repeated WANT_WRITE conditions during DTLS handshakes followed by retransmission events; crash logs or core dumps from OpenSSL-linked DTLS server processes referencing dtls1_do_write() or dtls1_retransmit_message().
  • Process: Unexpected termination (SIGSEGV or SIGBUS) of DTLS-enabled server processes (e.g., VPN daemons, media servers) due to access to unmapped memory during handshake processing.
  • File System: Core dump files generated by DTLS server processes in /var/crash/, /tmp/, or application working directories following exploitation attempts.

Mitigation and workarounds

OpenSSL has released patched versions addressing this vulnerability: 1.0.2zs, 1.1.1zj, 3.0.23, 3.4.8, 3.5.9, 3.6.5, and 4.0.3 (OpenSSL Advisory). Downstream vendors including Red Hat (RHSA-2026:76918, RHSA-2026:77396, RHSA-2026:80510, RHSA-2026:80514), Ubuntu (USN-8847-1, USN-8847-2), SUSE, FreeBSD, and Amazon Linux have also released updated packages (Red Hat Bugzilla). As a workaround for systems that cannot be patched immediately, disabling DTLS entirely or restricting DTLS connections to trusted peers only will eliminate the attack surface. Upgrading to a patched OpenSSL version is the recommended and definitive remediation.

Community reactions

The vulnerability received broad coverage from security media outlets including The Hacker News, SecurityWeek, CyberSecurityNews, GBHackers, and The Cyber Express, with headlines emphasizing the heap memory disclosure risk (The Hacker News, SecurityWeek). Community discussion on Hacker News and Reddit's r/SecOpsDaily highlighted the nuanced race condition required for exploitation, with some researchers noting the relatively low EPSS score despite the High CVSS rating. SOC Prime published a dedicated analysis blog post for detection engineering purposes (SOC Prime). The FreeBSD project issued a formal security advisory (FreeBSD-SA-26:68.openssl), and multiple Linux distributions coordinated rapid patch releases, reflecting the broad ecosystem impact of OpenSSL vulnerabilities.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

openssl

Affected

sid

openssl: 3.6.5-1

Fixed

trixie

openssl: 3.5.7-1~deb13u3

Fixed

Ubuntu

Fixed

bionic (esm-apps)

nodejs

Unknown

bionic (esm-infra)

openssl: 1.1.1-1ubuntu2.1~18.04.23+esm11

Fixed

bionic (fips-updates)

openssl

Unknown

bionic (fips)

openssl

Unknown

devel

openssl

Not Affected

focal (esm-apps)

nodejs

Not Affected

focal (esm-infra)

openssl: 1.1.1f-1ubuntu2.24+esm6

Fixed

focal (fips-updates)

openssl

Unknown

RHEL / CentOS

Fixed

OpenShift

openshift/ose-rhel-coreos-8

Affected

RHEL 8

:appstream:compat-openssl10-1:1.0.2o-4.el8_10.4.src

Fixed

RHEL 9

:appstream:compat-openssl11-1:1.1.1k-5.el9_8.6.src

Fixed

RHEL 10

openssl-1:3.5.8-2.el10_2.src

Fixed

Alpine

Fixed

v3.21

openssl: 3.3.7-r2

Fixed

Source: This report was generated using AI

Related Ruby vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-9h43-g84r-c93mHIGH7.4
  • Ruby logoRuby
  • doorkeeper-openid_connect
NoYesOct 21, 2026
GHSA-wgw9-qhqg-8hv5MEDIUM5.3
  • Ruby logoRuby
  • sanitize
NoYesOct 21, 2026
GHSA-pq4g-8rxf-4g29MEDIUM5.3
  • Ruby logoRuby
  • crass
NoYesOct 21, 2026
GHSA-c62j-746x-gfcrMEDIUM4.8
  • Ruby logoRuby
  • doorkeeper
NoYesOct 21, 2026
GHSA-c8r6-23w7-5q9pLOWN/A
  • Ruby logoRuby
  • doorkeeper
NoNoOct 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management