CVE-2022-49515: ASoC: cs35l41: Fix an out-of-bounds access in otp_packed_element_t
In the Linux kernel, the following vulnerability has been resolved:
ASoC: cs35l41: Fix an out-of-bounds access in otp_packed_element_t
The CS35L41_NUM_OTP_ELEM is 100, but only 99 entries are defined in
the array otp_map_1/2[CS35L41_NUM_OTP_ELEM], this will trigger UBSAN
to report a shift-out-of-bounds warning in the cs35l41_otp_unpack()
since the last entry in the array will result in GENMASK(-1, 0).
UBSAN reports this problem:
UBSAN: shift-out-of-bounds in /home/hwang4/build/jammy/jammy/sound/soc/codecs/cs35l41-lib.c:836:8
shift exponent 64 is too large for 64-bit type 'long unsigned int'
CPU: 10 PID: 595 Comm: systemd-udevd Not tainted 5.15.0-23-generic #23
Hardware name: LENOVO \x02MFG_IN_GO/\x02MFG_IN_GO, BIOS N3GET19W (1.00 ) 03/11/2022
Call Trace:
<TASK>
show_stack+0x52/0x58
dump_stack_lvl+0x4a/0x5f
dump_stack+0x10/0x12
ubsan_epilogue+0x9/0x45
__ubsan_handle_shift_out_of_bounds.cold+0x61/0xef
? regmap_unlock_mutex+0xe/0x10
cs35l41_otp_unpack.cold+0x1c6/0x2b2 [snd_soc_cs35l41_lib]
cs35l41_hda_probe+0x24f/0x33a [snd_hda_scodec_cs35l41]
cs35l41_hda_i2c_probe+0x65/0x90 [snd_hda_scodec_cs35l41_i2c]
? cs35l41_hda_i2c_remove+0x20/0x20 [snd_hda_scodec_cs35l41_i2c]
i2c_device_probe+0x252/0x2b0
Security readout for executives and security teams
Plain-English summary
CVE-2022-49515 is a Linux kernel bug in the CS35L41 audio codec driver. A mismatched table size can cause an out-of-bounds/invalid shift during device probing, producing UBSAN warnings. The sources do not provide CVSS, business impact, or evidence of active exploitation.
Executive priority
Treat as a targeted kernel maintenance issue, not an emergency based on current evidence. Patch through normal Linux kernel update channels, with higher priority for affected laptop fleets or environments that enable UBSAN-style runtime checks.
Technical view
In sound/soc/codecs/cs35l41-lib.c, CS35L41_NUM_OTP_ELEM is 100 while otp_map_1/2 define 99 entries. During cs35l41_otp_unpack(), the final entry can produce GENMASK(-1, 0), causing a shift-out-of-bounds condition reported by UBSAN during cs35l41 HDA/I2C probe.
Likely exposure
Exposure appears limited to Linux systems using kernels with the affected CS35L41 codec driver path, especially hardware that probes snd_hda_scodec_cs35l41 or related I2C components. The provided source metadata lists affected Linux kernel versions but lacks precise distribution mapping.
Exploitation context
The bundle marks KEV as false and provides no cited evidence of exploitation in the wild. The available trace shows detection during local hardware/device probing by systemd-udevd, not a remote attack path.
Researcher notes
Evidence is narrow: source text describes the bug and stack trace, while CVSS, CWE, exploitability, and impact are absent. Analysis should stay tied to the CS35L41 driver and referenced kernel stable commits.
Mitigation direction
Apply a Linux kernel or distribution update containing the referenced stable fixes.
Check vendor or distribution advisories for backported fixes and supported package versions.
Prioritize laptops or endpoints with CS35L41 audio hardware or loaded cs35l41 modules.
Avoid claiming remediation complete until package changelogs or source commits confirm the fix.
Validation and detection
Inventory kernel versions and hardware using CS35L41 audio codec components.
Check kernel package changelogs for the referenced stable commit identifiers.
Review logs for UBSAN shift-out-of-bounds reports in cs35l41_otp_unpack().
Confirm updated kernels no longer contain the 100-versus-99 OTP element mismatch.
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-49515 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
4Source 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.
Feb 26, 2025, 02:13 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.