CVE-2026-33846: GnuTLS: DTLS fragment heap overflow, DoS on AI inference
HIGHGnuTLS's DTLS handshake reassembly logic in merge_handshake_packet() matches fragments purely by handshake type and never validates that message_length stays consistent across all fragments of the same logical message, letting a remote, unauthenticated attacker allocate an undersized buffer and then overflow it with a later, larger fragment. There's no EPSS score, no CISA KEV listing, no public exploit, and no Nuclei scanner template, so opportunistic mass exploitation isn't happening yet — but this sits in a library carrying 78 other CVEs, has 129 downstream dependents, and directly ships inside Red Hat's AI Inference Server images (rhaiis/model-opt-cuda-rhel9, rhaiis/vllm-rocm-rhel9) and Discovery server/UI components. The CVSS vector (7.5, A:H with C:N/I:N) scores this as availability-only, so the realistic near-term outcome is crash/restart loops on any AI inference endpoint that terminates DTLS — but the underlying bug is a heap out-of-bounds write, a primitive that has historically escalated beyond DoS once someone invests in heap grooming. Patch GnuTLS to the version fixed in the applicable Red Hat errata (RHSA-2026:13274, 20611-20613, 26319, 26409, 29197, 30004, 30849, 30850) on any host running rhaiis, Discovery, or RHUI5/RHCOS components, and if DTLS transport isn't required for your inference traffic, disable it at the listener to remove the exposure entirely while patching rolls out.
What is the risk?
Network-exploitable (AV:N), low complexity (AC:L), no privileges or user interaction required — the classic profile for wormable/scriptable exploitation once a working PoC surfaces. Currently mitigated by the absence of EPSS scoring, KEV status, public exploit code, or scanner coverage, which caps near-term real-world risk at 'patch on schedule' rather than 'patch now, actively under attack'. The confirmed impact per CVSS is availability-only (crash), but the root cause — an OOB heap write from mismatched fragment lengths — is a class of bug (CWE-130) that has produced RCE in other DTLS/TLS reassembly implementations, so the ceiling on impact is higher than the current score reflects if an attacker invests in heap-layout research. Exposure is elevated by GnuTLS's broad footprint (78 other CVEs, 129 dependents) and its presence in AI inference server container images that may expose DTLS-terminating listeners on internal or partner-facing networks.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| vLLM | pip | — | No patch |
| discovery/discovery-server-rhel9 | — | — | No patch |
| discovery/discovery-ui-rhel9 | — | — | No patch |
| gnutls | — | — | No patch |
| gnutls-main | — | — | No patch |
| libtasn1 | — | — | No patch |
| rhaiis/model-opt-cuda-rhel9 | — | — | No patch |
| rhcos | — | — | No patch |
| rhui5/cds-rhel9 | — | — | No patch |
| rhui5/haproxy-rhel9 | — | — | No patch |
| rhui5/installer-rhel9 | — | — | No patch |
| rhui5/rhua-rhel9 | — | — | No patch |
How severe is it?
What is the attack surface?
What should I do?
1 step-
1) Patch GnuTLS/libtasn1 to the version fixed in the referenced Red Hat errata (RHSA-2026:13274, 20611, 20612, 20613, 26319, 26409, 29197, 30004, 30849, 30850) across all affected products: gnutls, gnutls-main, rhaiis/model-opt-cuda-rhel9, rhaiis/vllm-rocm-rhel9, discovery-server/ui-rhel9, rhui5 (cds/haproxy/installer/rhua), and rhcos. 2) Inventory which AI inference/serving hosts actually terminate DTLS and, where DTLS isn't required, disable it at the listener as an interim compensating control. 3) Segment DTLS-terminating endpoints from untrusted networks until patched. 4) Detection: monitor for unexpected crashes/restarts of GnuTLS-linked inference or Discovery processes, and watch for anomalous DTLS handshake traffic with repeated fragments carrying conflicting message_length values (IDS/IPS signature candidate). 5) Track vendor advisories for a public PoC or KEV addition, which would materially raise urgency.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-33846?
GnuTLS's DTLS handshake reassembly logic in merge_handshake_packet() matches fragments purely by handshake type and never validates that message_length stays consistent across all fragments of the same logical message, letting a remote, unauthenticated attacker allocate an undersized buffer and then overflow it with a later, larger fragment. There's no EPSS score, no CISA KEV listing, no public exploit, and no Nuclei scanner template, so opportunistic mass exploitation isn't happening yet — but this sits in a library carrying 78 other CVEs, has 129 downstream dependents, and directly ships inside Red Hat's AI Inference Server images (rhaiis/model-opt-cuda-rhel9, rhaiis/vllm-rocm-rhel9) and Discovery server/UI components. The CVSS vector (7.5, A:H with C:N/I:N) scores this as availability-only, so the realistic near-term outcome is crash/restart loops on any AI inference endpoint that terminates DTLS — but the underlying bug is a heap out-of-bounds write, a primitive that has historically escalated beyond DoS once someone invests in heap grooming. Patch GnuTLS to the version fixed in the applicable Red Hat errata (RHSA-2026:13274, 20611-20613, 26319, 26409, 29197, 30004, 30849, 30850) on any host running rhaiis, Discovery, or RHUI5/RHCOS components, and if DTLS transport isn't required for your inference traffic, disable it at the listener to remove the exposure entirely while patching rolls out.
Is CVE-2026-33846 actively exploited?
No confirmed active exploitation of CVE-2026-33846 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-33846?
1) Patch GnuTLS/libtasn1 to the version fixed in the referenced Red Hat errata (RHSA-2026:13274, 20611, 20612, 20613, 26319, 26409, 29197, 30004, 30849, 30850) across all affected products: gnutls, gnutls-main, rhaiis/model-opt-cuda-rhel9, rhaiis/vllm-rocm-rhel9, discovery-server/ui-rhel9, rhui5 (cds/haproxy/installer/rhua), and rhcos. 2) Inventory which AI inference/serving hosts actually terminate DTLS and, where DTLS isn't required, disable it at the listener as an interim compensating control. 3) Segment DTLS-terminating endpoints from untrusted networks until patched. 4) Detection: monitor for unexpected crashes/restarts of GnuTLS-linked inference or Discovery processes, and watch for anomalous DTLS handshake traffic with repeated fragments carrying conflicting message_length values (IDS/IPS signature candidate). 5) Track vendor advisories for a public PoC or KEV addition, which would materially raise urgency.
What systems are affected by CVE-2026-33846?
This vulnerability affects the following AI/ML architecture patterns: model serving, inference infrastructure, container/orchestration security.
What is the CVSS score for CVE-2026-33846?
CVE-2026-33846 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 1.26%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029 Denial of AI Service AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
A heap buffer overflow vulnerability exists in the DTLS handshake fragment reassembly logic of GnuTLS. The issue arises in merge_handshake_packet() where incoming handshake fragments are matched and merged based solely on handshake type, without validating that the message_length field remains consistent across all fragments of the same logical message. An attacker can exploit this by sending crafted DTLS fragments with conflicting message_length values, causing the implementation to allocate a buffer based on a smaller initial fragment and subsequently write beyond its bounds using larger, inconsistent fragments. Because the merge operation does not enforce proper bounds checking against the allocated buffer size, this results in an out-of-bounds write on the heap. The vulnerability is remotely exploitable without authentication via the DTLS handshake path and can lead to application crashes or potential memory corruption.
Exploitation Scenario
An attacker with network reach to a DTLS-terminating endpoint on a Red Hat AI Inference Server deployment (or a Discovery server/UI instance) initiates a DTLS handshake and sends a first handshake fragment declaring a small message_length, causing GnuTLS to allocate a correspondingly small reassembly buffer. The attacker then sends subsequent fragments of the same handshake type but with a larger, inconsistent message_length; because merge_handshake_packet() merges fragments based on type alone without re-validating length consistency, the larger fragment is written past the end of the originally allocated buffer. This out-of-bounds heap write crashes the inference server process (denial of service) and, if repeated with different heap-grooming techniques, could be leveraged by a more sophisticated attacker to attempt memory corruption for further exploitation — all without any authentication or user interaction, directly against a production model-serving endpoint.
Weaknesses (CWE)
CWE-130 — Improper Handling of Length Parameter Inconsistency: The product parses a formatted message or structure, but it does not handle or incorrectly handles a length field that is inconsistent with the actual length of the associated data.
- [Implementation] When processing structured incoming data containing a size field followed by raw data, ensure that you identify and resolve any inconsistencies between the size field and the actual size of the data.
- [Implementation] Do not let the user control the size of the buffer.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H References
- access.redhat.com/errata/RHSA-2026:13274 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:20611 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:20612 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:20613 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:26319 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:26409 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:29197 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:30004 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:30849 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:30850 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:32962 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:33125 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:34372 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:36004 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:36005 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:36006 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:41921 vendor-advisory x_refsource_REDHAT
- access.redhat.com/errata/RHSA-2026:58981 vendor-advisory x_refsource_REDHAT
- access.redhat.com/security/cve/CVE-2026-33846 vdb-entry x_refsource_REDHAT
- bugzilla.redhat.com/show_bug.cgi issue-tracking x_refsource_REDHAT
Timeline
Related Vulnerabilities
CVE-2024-9053 9.8 vllm: RCE via unsafe pickle deserialization in RPC server
Same package: vllm CVE-2024-11041 9.8 vllm: RCE via unsafe pickle deserialization in MessageQueue
Same package: vllm CVE-2026-25960 9.8 vllm: SSRF allows internal network access
Same package: vllm CVE-2025-47277 9.8 vLLM: RCE via exposed TCPStore in distributed inference
Same package: vllm CVE-2025-32444 9.8 vLLM: RCE via pickle deserialization on ZeroMQ
Same package: vllm