CVE-2024-36895: usb: gadget: uvc: use correct buffer size when parsing configfs lists
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: uvc: use correct buffer size when parsing configfs lists
This commit fixes uvc gadget support on 32-bit platforms.
Commit 0df28607c5cb ("usb: gadget: uvc: Generalise helper functions for
reuse") introduced a helper function __uvcg_iter_item_entries() to aid
with parsing lists of items on configfs attributes stores. This function
is a generalization of another very similar function, which used a
stack-allocated temporary buffer of fixed size for each item in the list
and used the sizeof() operator to check for potential buffer overruns.
The new function was changed to allocate the now variably sized temp
buffer on heap, but wasn't properly updated to also check for max buffer
size using the computed size instead of sizeof() operator.
As a result, the maximum item size was 7 (plus null terminator) on
64-bit platforms, and 3 on 32-bit ones. While 7 is accidentally just
barely enough, 3 is definitely too small for some of UVC configfs
attributes. For example, dwFrameInteval, specified in 100ns units,
usually has 6-digit item values, e.g. 166666 for 60fps.
Security readout for executives and security teams
Plain-English summary
This CVE concerns Linux systems that expose a USB Video Class gadget through configfs. A kernel helper used the wrong size check for parsed list items, especially breaking legitimate values on 32-bit platforms. The provided sources do not describe data theft, privilege escalation, remote attack, or confirmed exploitation.
Executive priority
Treat this as a targeted kernel maintenance issue, not an enterprise-wide emergency, unless your products rely on Linux USB camera gadget functionality. Patch affected embedded or appliance builds through normal kernel update channels once vendor guidance is available.
Technical view
The UVC gadget configfs parser allocated a variable-size temporary heap buffer but still used sizeof() on the pointer for bounds checks. That limited accepted item lengths to 7 bytes on 64-bit and 3 bytes on 32-bit systems, too small for attributes such as dwFrameInterval values.
Likely exposure
Exposure appears limited to Linux kernel deployments using USB gadget UVC support and configfs attributes, especially 32-bit platforms. Ordinary Linux servers that do not use USB gadget video device functionality are unlikely to be exposed based on the provided evidence.
Exploitation context
CISA KEV status is false in the bundle, and no cited source reports active exploitation. The available description supports a UVC gadget configuration parsing failure, but it does not establish a practical attacker path or security impact.
Researcher notes
The evidence describes an incorrect buffer-size comparison causing overly small accepted item lengths, not a demonstrated overflow or exploit. Security impact, CVSS, CWE, and attacker prerequisites are absent from the bundle, so avoid overstating severity.
Mitigation direction
Check whether deployed kernels include one of the referenced stable fixes.
Prioritize systems using USB gadget UVC configfs functionality.
For affected builds, update through vendor or distribution kernel packages.
If no vendor package exists, review upstream stable commits and vendor guidance.
Disable unused USB gadget UVC functionality where operationally feasible.
Validation and detection
Inventory kernels on devices that provide USB gadget video functions.
Confirm whether UVC gadget configfs attributes are used.
Compare kernel source or package changelog against the three referenced stable commits.
Test legitimate UVC configfs values on 32-bit devices after patching.
Record whether exposure depends on physical USB gadget use.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-36895 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.