Read the docs
TI-2024-23690 Aliases CVE-2024-35825GHSA-pcfp-3pw8-73vr

usb: gadget: ncm: Fix handling of zero block length packets

Priority LOW 24Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA.

Summary

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: ncm: Fix handling of zero block length packets While connecting to a Linux host with CDC_NCM_NTB_DEF_SIZE_TX set to 65536, it has been observed that we receive short packets, which come at interval of 5-10 seconds sometimes and have block length zero but still contain 1-2 valid datagrams present. According to the NCM spec: "If wBlockLength = 0x0000, the block is terminated by a short packet. In this case, the USB transfer must still be shorter than dwNtbInMaxSize or dwNtbOutMaxSize. If exactly dwNtbInMaxSize or dwNtbOutMaxSize bytes are sent, and the size is a multiple of wMaxPacketSize for the given pipe, then no ZLP shall be sent. wBlockLength= 0x0000 must be used with extreme care, because of the possibility that the host and device may get out of sync, and because of test issues. wBlockLength = 0x0000 allows the sender to reduce latency by starting to send a very large NTB, and then shortening it when the sender discovers that there’s not sufficient data to justify sending a large NTB" However, there is a potential issue with the current implementation, as it checks for the occurrence of multiple NTBs in a single giveback by verifying if the leftover bytes to be processed is zero or not. If the block length reads zero, we would process the same NTB infintely because the leftover bytes is never zero and it leads to a crash. Fix this by bailing out if block length reads zero.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00232 14th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 4.19.312, 5.4.274, 5.10.215 +7

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux4.19.297 to before 4.19.312; 5.4.259 to before 5.4.274; 5.10.199 to before 5.10.215; 5.15.136 to before 5.15.154; 6.1.59 to before 6.1.84; 4.14.328 to before 4.15; 6.5.8 to before 6.64.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 4.15, 6.6Patch availableCNA
LinuxLinux6.6 and later4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.6.24, 6.7.12, 6.8Patch availableCNA
  • Linux VendorLinux Affected 4.19.297 to before 4.19.312; 5.4.259 to before 5.4.274; 5.10.199 to before 5.10.215; 5.15.136 to before 5.15.154; 6.1.59 to before 6.1.84; 4.14.328 to before 4.15; 6.5.8 to before 6.6 Fixed in 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 4.15, 6.6 Patch available CNA
  • Linux VendorLinux Affected 6.6 and later Fixed in 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.6.24, 6.7.12, 6.8 Patch available CNA

CPE configurations NVD · 12

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*4.14.328 to before 4.15; 4.19.297 to before 4.19.312; 5.4.259 to before 5.4.274; 5.10.199 to before 5.10.215; 5.15.136 to before 5.15.154; 6.1.59 to before 6.1.84; 6.5.8 to before 6.6; 6.6.1 to before 6.6.24; 6.7 to before 6.7.12VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.6:-:*:*:*:*:*:*6.6VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.6:rc6:*:*:*:*:*:*6.6 rc6VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.6:rc7:*:*:*:*:*:*6.6 rc7VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*6.8 rc1VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*6.8 rc2VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*6.8 rc3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*6.8 rc4VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*6.8 rc5VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*6.8 rc6VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.14.328 to before 4.15; 4.19.297 to before 4.19.312; 5.4.259 to before 5.4.274; 5.10.199 to before 5.10.215; 5.15.136 to before 5.15.154; 6.1.59 to before 6.1.84; 6.5.8 to before 6.6; 6.6.1 to before 6.6.24; 6.7 to before 6.7.12 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.6:-:*:*:*:*:*:* Versions 6.6 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.6:rc6:*:*:*:*:*:* Versions 6.6 rc6 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.6:rc7:*:*:*:*:*:* Versions 6.6 rc7 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* Versions 6.8 rc1 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* Versions 6.8 rc2 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* Versions 6.8 rc3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:* Versions 6.8 rc4 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:* Versions 6.8 rc5 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:* Versions 6.8 rc6 Vulnerable ·Linux
Show 2 more CPE
CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:6.8:rc7:*:*:*:*:*:*6.8 rc7VulnerableLinux
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*10.0VulnerableDebian
  • cpe:2.3:o:linux:linux_kernel:6.8:rc7:*:*:*:*:*:* Versions 6.8 rc7 Vulnerable ·Linux
  • cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:* Versions 10.0 Vulnerable ·Debian

Remediation

  • Fix · CNA Linux (Linux) Fixed in 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 4.15, 6.6
  • Fix · CNA Linux (Linux) Fixed in 4.19.312, 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.6.24, 6.7.12, 6.8

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 4 products
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 9

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-35825
  2. 2026-10-03 Alias added: GHSA-pcfp-3pw8-73vr

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources