CVE-2023-54284
Description
In the Linux kernel, the following vulnerability has been resolved:
media: av7110: prevent underflow in write_ts_to_decoder()
The buf[4] value comes from the user via ts_play(). It is a value in the u8 range. The final length we pass to av7110_ipack_instant_repack() is "len - (buf[4] + 1) - 4" so add a check to ensure that the length is not negative. It's not clear that passing a negative len value does anything bad necessarily, but it's not best practice.
With the new bounds checking the "if (!len)" condition is no longer possible or required so remove that.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
In the Linux kernel's av7110 DVB driver, a missing bounds check in write_ts_to_decoder() allows a user-supplied value to cause an integer underflow.
Root
Cause
The vulnerability resides in the write_ts_to_decoder() function of the av7110 media driver. The function receives a buffer from user space via ts_play(), where the byte at offset 4 (buf[4]) is controlled by the caller. This value is used in a length calculation: len - (buf[4] + 1) - 4. Without proper validation, a large buf[4] (up to 255) can cause the subtraction to wrap around, resulting in a negative len value passed to av7110_ipack_instant_repack() [1].
Exploitation
Surface
An attacker with the ability to send TS (transport stream) data to the av7110 device — typically requiring local access or the ability to interact with the DVB subsystem — can craft a malicious ts_play() call with a large buf[4] value [1]. The attack does not require elevated privileges beyond the ability to open the device file and write to it. The negative length argument could trigger undefined behavior in the downstream packet processor, potentially leading to memory corruption or a denial-of-service condition.
Impact
Successful exploitation may result in a kernel crash (denial of service) or, depending on how the negative length is interpreted by av7110_ipack_instant_repack(), memory corruption that could be leveraged for further compromise. The advisory notes that it is unclear whether a negative length causes anything "bad" but confirms it is not best practice and the patch prevents the underflow [1].
Mitigation
The fix was applied to the Linux kernel stable trees in commits [1][2][3][4]. Users should update to a kernel version containing the patch. No workaround is available other than limiting local access to the av7110 device.
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
96680af5be9f06606e2404ee9620b983589e086ba65e5357bca4ce92e3ec9423350af9e2777eeb47321357b93ab60fe9eeed9496a0501Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- git.kernel.org/stable/c/423350af9e27f005611bd881b1df2cab66de943dnvd
- git.kernel.org/stable/c/620b983589e0223876bf1463b01100a9c67b56banvd
- git.kernel.org/stable/c/6606e2404ee9e20a3ae5b42fc3660d41b739ed3envd
- git.kernel.org/stable/c/6680af5be9f08d830567e9118f76d3e64684db8fnvd
- git.kernel.org/stable/c/77eeb4732135c18c2fdfab80839645b393f3e774nvd
- git.kernel.org/stable/c/7b93ab60fe9ed04be0ff155bc30ad39dea23e22bnvd
- git.kernel.org/stable/c/86ba65e5357bfbb6c082f68b265a292ee1bdde1dnvd
- git.kernel.org/stable/c/ca4ce92e3ec9fd3c7c936b912b95c53331d5159cnvd
- git.kernel.org/stable/c/eed9496a0501357aa326ddd6b71408189ed872ebnvd
News mentions
0No linked articles in our index yet.