CVE-2025-39928
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.
| Package | Ecosystem | Fixed in |
|---|---|---|
| Linux | Linux | c91382328fc89f73144d5582f2d8f1dd3e41c8f7, 06418cb5a1a542a003fdb4ad8e76ea542d57cfba |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | c366be720235301fdadf67e6f1ea6ff32669c074, c366be720235301fdadf67e6f1ea6ff32669c074 |
| Linux | Linux | 6.13, 0, 6.16.8 |
| Linux | Linux | 6.17, 0, 6.16.8 |
| linux | linux_kernel | 6.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