CVE-2026-33846

NameCVE-2026-33846
DescriptionA 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
Debian Bugs1135319

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
gnutls28 (PTS)bullseye3.7.1-5+deb11u5vulnerable
bullseye (security)3.7.1-5+deb11u9vulnerable
bookworm3.7.9-2+deb12u5vulnerable
bookworm (security)3.7.9-2+deb12u6vulnerable
trixie (security), trixie3.8.9-3+deb13u2vulnerable
forky3.8.12-3vulnerable
sid3.8.13-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
gnutls28source(unstable)3.8.13-11135319

Notes

https://www.gnutls.org/security-new.html#GNUTLS-SA-2026-04-29-1
https://gitlab.com/gnutls/gnutls/-/work_items/1816
https://gitlab.com/gnutls/gnutls/-/work_items/1838
https://gitlab.com/gnutls/gnutls/-/work_items/1839
Fixed by: https://gitlab.com/gnutls/gnutls/-/commit/65ab33fa54e34fba69d793735b7df3d383d1ff78 (3.8.13)

Search for package or bug name: Reporting problems