CVEvulnerability

CVE-2026-53196

6.8 MEDIUM Published 2026-06-25 Modified 2026-09-18 Official page ↗
Status
Modified
Published
2026-06-25
Last modified
2026-09-18
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
6.8 MEDIUM — CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1 (0b0ca135-0b70-47e7-9f44-1890c2a1c46c)
6.8 MEDIUM — CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-787

Description

In the Linux kernel, the following vulnerability has been resolved: USB: serial: io_ti: fix heap overflow in get_manuf_info() get_manuf_info() reads le16_to_cpu(rom_desc->Size) bytes from the device I2C EEPROM into a buffer allocated with kmalloc_obj(), which is sizeof(struct edge_ti_manuf_descriptor) = 10 bytes. The Size field comes from the device and is only validated (in check_i2c_image()) to make sure the descriptor fits within TI_MAX_I2C_SIZE (16384 bytes), not against the destination buffer size. A malicious USB device can therefore set Size to any value up to 16377, causing a heap overflow of up to 16367 bytes when plugged into a host running this driver. valid_csum() is called after read_rom() and also iterates buffer[0..Size-1], compounding the out-of-bounds access. Fix by rejecting descriptors with unexpected length before calling read_rom(). [ johan: amend commit message; also check for short descriptors ]

Affected configurations

• linux linux kernel (>= 2.6.12.1 < 5.10.259) • linux linux kernel (>= 5.11 < 5.15.210) • linux linux kernel (>= 5.16 < 6.1.176) • linux linux kernel (>= 6.2 < 6.6.143) • linux linux kernel (>= 6.7 < 6.12.94) • linux linux kernel (>= 6.13 < 6.18.36) • linux linux kernel (>= 6.19 < 7.0.13) • linux linux kernel 2.6.12 • linux linux kernel 7.1

Related

Weakness · CWE (1)

  • CWE-787 Out-of-bounds Write weakness

References