
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-39928 is an integer underflow vulnerability in the Linux kernel's i2c-rtl9300 driver that can cause unintended or destructive hardware behavior. The flaw exists in the rtl9300_i2c_config_xfer function, which fails to validate that the transfer data length is within the hardware-supported range of 1–16 bytes. A data length of 0 (as used by the SMBus Quick Operation) triggers an integer underflow via (len - 1) & 0xf, causing the hardware to perform a 16-byte write instead of a zero-byte Quick Write. Affected Linux kernel versions span 6.13 through 6.16.7, with fixes available in 6.16.8 and 6.17. It carries a CVSS v3.1 base score of 5.5 (Medium) (Feedly).
The root cause is CWE-191 (Integer Underflow / Wrap or Wraparound) in the rtl9300_i2c_config_xfer function of the Linux kernel's RTL9300 I2C driver. The RTL9300 hardware reserves 4 bits for the DATA_WIDTH register field, encoding the transfer length as N+1 (supporting lengths 1–16); a length of 0 is not representable and causes the expression (len - 1) & 0xf to underflow to 15, which the hardware interprets as a 16-byte transfer. This is triggered when the SMBus subsystem issues a Quick Operation (zero-length transfer), resulting in a spurious 16-byte write to the I2C/SMBus target device. The fix adds an explicit bounds check rejecting lengths outside the 1–16 range and adds a quirk to handle zero-length transfers (Feedly, Kernel Patch 1, Kernel Patch 2).
Exploitation of this vulnerability can cause permanent hardware damage (availability impact) to devices connected via the RTL9300 I2C bus. The most concrete documented consequence is soft-bricking SFP modules with unprotected EEPROMs: the spurious 16-byte write overwrites initial EEPROM bytes, rendering the module non-functional. There is no confidentiality or integrity impact to the host system itself, but the loss of connected hardware components can disrupt network operations on affected Realtek RTL9300-based switches (Feedly).
This vulnerability requires local access with low privileges to trigger (attack vector: local, privileges required: low), limiting its exploitability to users or processes with the ability to initiate SMBus Quick Operations on the affected hardware. No public proof-of-concept exploit code, exploit kits, or in-the-wild exploitation have been reported. The EPSS score is approximately 0.018% (0.000180), indicating very low probability of exploitation in the near term. It is not listed in the CISA Known Exploited Vulnerabilities catalog (Feedly).
The Linux kernel maintainers have released patches addressing this vulnerability in stable versions 6.16.8 and 6.17. The fix adds an explicit length validation check in rtl9300_i2c_config_xfer to reject transfers outside the 1–16 byte range and introduces a quirk for zero-length SMBus Quick Operations. Users running Linux kernel 6.13 through 6.16.7 on RTL9300-based hardware should upgrade to kernel 6.16.8 or later. As a workaround, avoiding SMBus Quick Operations on affected hardware (if configurable at the application level) can prevent triggering the underflow (Kernel Patch 1, Kernel Patch 2).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."