Vulnerability in Kernel package: eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX
Summary
GSD-2022-1000438: eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX. Affects Kernel versions >= be9313f755a7bfa02230b15731d07074d5255ecb, < 9a5f471ae380f9fcb9756d453c12ca1f8595a93c. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
The Kernel package is a fundamental component of the Linux operating system, responsible for managing the system's core functionality. It provides essential services such as process management, memory management, and device drivers. The eeprom module within the Kernel package is specifically designed to handle communication with EEPROM (Electrically Erasable Programmable Read-Only Memory) devices. EEPROM is a type of non-volatile memory that can be read from and written to, making it useful for storing small amounts of data that need to persist even when power is removed. However, a vulnerability has been discovered in the eeprom module that could potentially be exploited by attackers.
Vulnerability Detail
The vulnerability in the eeprom module allows for unbounded I2C reads, which can lead to a buffer overflow. Specifically, the issue arises from not limiting the size of I2C reads to the maximum allowed by the I2C_SMBUS_BLOCK_MAX constant. This oversight can be exploited by an attacker to read beyond the intended boundaries of the buffer, potentially exposing sensitive information or causing a denial-of-service condition. The impact and attack plausibility of this vulnerability have not been proven yet, but it is important to address it to ensure the security and stability of systems running the affected Kernel package.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a workaround, users can manually limit the size of I2C reads to I2C_SMBUS_BLOCK_MAX in the affected Kernel package. This can be achieved by modifying the relevant code in the eeprom module. Here is an example of how the code can be updated:
// Limit I2C reads to I2C_SMBUS_BLOCK_MAX
if (size > I2C_SMBUS_BLOCK_MAX) {
size = I2C_SMBUS_BLOCK_MAX;
}
Conclusion
In conclusion, a vulnerability has been identified in the eeprom module of the Kernel package, which could potentially lead to a buffer overflow. It is crucial to update the Linux Kernel package to the latest version (v5.15.24 or later) to mitigate this vulnerability. Alternatively, users can apply a workaround by manually limiting the size of I2C reads. For further assistance and support in addressing this vulnerability, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The Kernel package is a crucial component of the Linux operating system, responsible for managing core system functionality.
EEPROM stands for Electrically Erasable Programmable Read-Only Memory. It is a type of non-volatile memory that can be read from and written to.
The impact of this vulnerability is not yet proven, but it could potentially lead to a buffer overflow, exposing sensitive information or causing a denial-of-service condition.
To fix this vulnerability, it is recommended to update the Linux Kernel package to version v5.15.24 or later.
Yes, a workaround is available. Users can manually limit the size of I2C reads to I2C_SMBUS_BLOCK_MAX in the affected Kernel package.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.