CVE-2022-50156: HID: cp2112: prevent a buffer overflow in cp2112_xfer()
In the Linux kernel, the following vulnerability has been resolved:
HID: cp2112: prevent a buffer overflow in cp2112_xfer()
Smatch warnings:
drivers/hid/hid-cp2112.c:793 cp2112_xfer() error: __memcpy()
'data->block[1]' too small (33 vs 255)
drivers/hid/hid-cp2112.c:793 cp2112_xfer() error: __memcpy() 'buf' too
small (64 vs 255)
The 'read_length' variable is provided by 'data->block[0]' which comes
from user and it(read_length) can take a value between 0-255. Add an
upper bound to 'read_length' variable to prevent a buffer overflow in
memcpy().
Security readout for executives and security teams
Plain-English summary
CVE-2022-50156 is a Linux kernel driver flaw in the CP2112 HID path. User-controlled length data could exceed expected buffer sizes during a copy operation. The provided sources do not include CVSS, confirmed impact, or exploitation evidence, so urgency depends on whether affected kernels and this driver are present in your fleet.
Executive priority
Treat as a targeted kernel maintenance issue until better severity data appears. It warrants timely patching on systems using the CP2112 driver, but the provided evidence does not support emergency prioritization across all Linux assets.
Technical view
The Linux kernel cp2112_xfer() function used data->block[0] as read_length without an upper bound. Smatch reported memcpy() could copy up to 255 bytes into smaller 33-byte and 64-byte buffers. Stable kernel commits add a length limit to prevent the overflow.
Likely exposure
Exposure is most likely on Linux systems running affected kernel lines where the HID CP2112 driver is available or in use. The bundle lists Linux kernel versions including 4.15 through 6.0-era stable lines as affected, but does not provide distribution package mappings.
Exploitation context
The source bundle says the length value comes from user-controlled data, but provides no exploit details, no CVSS vector, and no confirmed real-world exploitation. KEV is false, so active exploitation should not be assumed from these sources.
Researcher notes
The central issue is missing validation of read_length before memcpy() in drivers/hid/hid-cp2112.c. The public record identifies static-analysis warnings and stable commit references, but does not define reachable attack paths, privileges required, impact class, or affected distribution builds.
Mitigation direction
Update Linux kernels to vendor releases containing the referenced stable fixes.
Prioritize systems where the CP2112 HID driver is enabled or used.
If update timing is constrained, check vendor guidance for supported workarounds.
Track distribution advisories for exact package versions and backports.
Validation and detection
Inventory running Linux kernel versions across affected assets.
Confirm whether the CP2112 HID driver is built, enabled, or used.
Map installed kernels to vendor releases containing the stable commits.
Review vulnerability scanner findings against vendor backport notes.
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-2022-50156 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.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Jun 18, 2025, 11:03 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.