VYPR
High severity7.1NVD Advisory· Published Oct 1, 2025· Updated Jul 30, 2026

CVE-2025-39928

CVE-2025-39928

Description

In the Linux kernel, the following vulnerability has been resolved:

i2c: rtl9300: ensure data length is within supported range

Add an explicit check for the xfer length to 'rtl9300_i2c_config_xfer' to ensure the data length isn't within the supported range. In particular a data length of 0 is not supported by the hardware and causes unintended or destructive behaviour.

This limitation becomes obvious when looking at the register documentation [1]. 4 bits are reserved for DATA_WIDTH and the value of these 4 bits is used as N + 1, allowing a data length range of 1 <= len <= 16.

Affected by this is the SMBus Quick Operation which works with a data length of 0. Passing 0 as the length causes an underflow of the value due to:

(len - 1) & 0xf

and effectively specifying a transfer length of 16 via the registers. This causes a 16-byte write operation instead of a Quick Write. For example, on SFP modules without write-protected EEPROM this soft-bricks them by overwriting some initial bytes.

For completeness, also add a quirk for the zero length.

[1] https://svanheule.net/realtek/longan/register/i2c_mst1_ctrl2

Affected products

8
  • Linux/Kernel7 versions
    cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 6 more
    • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=6.13,<6.16.8
    • cpe:2.3:o:linux:linux_kernel:6.17:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:6.17:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:6.17:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:6.17:rc4:*:*:*:*:*:*
    • (no CPE)
    • (no CPE)range: 6.13
  • osv-coords
    Range: >= 6.13.0, < 6.16.8

Patches

Vulnerability mechanics

References

2

News mentions

0

No linked articles in our index yet.