Vulnerability in Kernel package: eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX

Kernel Updated 02 Oct 2025

Summary

27/02/2022
N/A
No i
Unrated
Not published

GSD-2022-1000343: eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX. Affects Kernel versions >= aca56c298e2a6d20ab6308e203a8d37f2a7759d3, < 3937c35493ee2847aaefcfa5460e94b7443eef49. No fix is published. How to fix ↓

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Kernel package is a crucial component of the Linux operating system, responsible for managing the system's core functions. It provides an interface between the hardware and software layers, enabling communication and coordination between various system components. The eeprom module within the Kernel package is responsible for handling EEPROM (Electrically Erasable Programmable Read-Only Memory) devices connected via I2C (Inter-Integrated Circuit) bus. These devices store configuration data and can be accessed by the system. However, a vulnerability has been identified in the eeprom module, specifically in the ee1004 driver, which allows for unrestricted I2C reads beyond the maximum block size defined by I2C_SMBUS_BLOCK_MAX.

Vulnerability Detail

The vulnerability in the eeprom: ee1004 driver allows an attacker to perform I2C reads without any size limitation, potentially leading to buffer overflows or other memory corruption issues. By exploiting this vulnerability, an attacker could gain unauthorized access to sensitive information, modify data, or even execute arbitrary code on the affected system. The vulnerability was introduced in Linux Kernel version v5.4.174 and has been fixed in version v5.4.180.

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

If updating the Kernel package is not immediately feasible, a temporary workaround can be implemented by limiting the I2C reads to the maximum block size defined by I2C_SMBUS_BLOCK_MAX. This can be achieved by modifying the code in the eeprom: ee1004 driver to enforce the size limitation. Here is an example of the modified code:

// Limit I2C reads to I2C_SMBUS_BLOCK_MAX
if (count > I2C_SMBUS_BLOCK_MAX) {
    count = I2C_SMBUS_BLOCK_MAX;
}

Conclusion

In conclusion, a vulnerability has been identified in the eeprom: ee1004 driver of the Kernel package, allowing for unrestricted I2C reads beyond the maximum block size. This vulnerability can potentially lead to memory corruption, unauthorized access, data modification, or arbitrary code execution. It is crucial to update the Kernel package to version v5.4.180 or later to mitigate this vulnerability. If immediate update is not possible, the provided workaround can be implemented. For further support on vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for Kernel →

Share this vulnerability

FAQ

This vulnerability allows an attacker to perform unrestricted I2C reads, potentially leading to memory corruption, unauthorized access to sensitive information, data modification, or arbitrary code execution.

You can use the Vulert Playground at Vulert Scanner to check if your system is affected by this vulnerability. Simply upload your package-lock.json file and Vulert will analyze it for any open-source vulnerabilities, including this one.

Yes, this vulnerability has been fixed in Linux Kernel version v5.4.180. It is recommended to update to this version or later to mitigate the risk.

At the time of this report, there are no known public exploits targeting this vulnerability. However, it is important to apply the necessary updates or workarounds to prevent potential exploitation.

If updating the Kernel package is not immediately feasible, you can implement the temporary workaround mentioned in the 'workaround' section of this report. However, it is still recommended to prioritize updating the package as soon as possible.

Related vulnerabilities

Recent vulnerabilities recorded for Kernel.

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 →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback