VDB

CVE-2025-39928

CVE-2025-39928 PUBLISHED CVSS 7.1 HIGH

i2c: rtl9300: ensure data length is within supported range

Reported by linux · Published October 1, 2025

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

Fixed versions

Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.

PackageEcosystemFixed in
LinuxLinuxc91382328fc89f73144d5582f2d8f1dd3e41c8f7, 06418cb5a1a542a003fdb4ad8e76ea542d57cfba

Risk scores

CVSS 3.1
7.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H

Affected products

VendorProductVersions
LinuxLinuxc366be720235301fdadf67e6f1ea6ff32669c074, c366be720235301fdadf67e6f1ea6ff32669c074
LinuxLinux6.13, 0, 6.16.8
LinuxLinux6.17, 0, 6.16.8
linuxlinux_kernel6.13, 6.13

Timeline

  • Sep 30, 2025 CVE Published
  • Oct 1, 2025 EPSS Score (30 in total, the first dated here)
  • Oct 1, 2025 PoC Published (3 in total, the first dated here)
  • Oct 4, 2025 Coalition ESS Score (7 in total, the first dated here)
  • Dec 15, 2025 Security Advisory (70 in total, the first dated here)
  • Dec 15, 2025 CVE Updated
  • Oct 10, 2026 Distribution Patch (63 in total, the first dated here)

Query this with the API

The same record, from the CLI:

vulnetix vdb vuln CVE-2025-39928
vulnetix vdb fixes CVE-2025-39928

Or with curl, using the org id and key from your account page:

curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
  "https://api.vdb.vulnetix.com/v2/vuln/CVE-2025-39928/fixes/registry"

The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart

References

Look up in the Resolve Platform →
$ Lookup Community · 50/day Open Lookup ›