CVE-2022-48806
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/07/2024
Last modified:
16/07/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX<br />
<br />
Commit effa453168a7 ("i2c: i801: Don&#39;t silently correct invalid transfer<br />
size") revealed that ee1004_eeprom_read() did not properly limit how<br />
many bytes to read at once.<br />
<br />
In particular, i2c_smbus_read_i2c_block_data_or_emulated() takes the<br />
length to read as an u8. If count == 256 after taking into account the<br />
offset and page boundary, the cast to u8 overflows. And this is common<br />
when user space tries to read the entire EEPROM at once.<br />
<br />
To fix it, limit each read to I2C_SMBUS_BLOCK_MAX (32) bytes, already<br />
the maximum length i2c_smbus_read_i2c_block_data_or_emulated() allows.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/3937c35493ee2847aaefcfa5460e94b7443eef49
- https://git.kernel.org/stable/c/9443ddeb3754e9e382a396b50adc1961301713ce
- https://git.kernel.org/stable/c/9a5f471ae380f9fcb9756d453c12ca1f8595a93c
- https://git.kernel.org/stable/c/a37960df7eac3cc8094bd1ab84864e9e32c91345
- https://git.kernel.org/stable/c/c0689e46be23160d925dca95dfc411f1a0462708