CVE-2026-64330 in Linuxthông tin

Tóm tắt

Bởi VulDB • 25/07/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

usb: typec: tcpm: Xác thực chỉ mục SVID trong svdm_consume_modes()

Hàm `svdm_consume_modes()` đọc giá trị SVID từ mảng `pmdata->svids` bằng cách sử dụng `pmdata->svid_index` làm chỉ mục mà không có xác thực giới hạn (bounds validation):

paltmode->svid = pmdata->svids[pmdata->svid_index];

Nếu `pmdata->svid_index` vượt quá giá trị SVID_DISCOVERY_MAX (16), nó sẽ dẫn đến việc đọc dữ liệu ngoài vùng cho phép (out-of-bounds read) của mảng `pmdata->svids`. Vì cấu trúc `pd_mode_data` được nhúng bên trong struct `tcpm_port`, nên việc truy cập chỉ mục vượt quá vị trí svids sẽ đọc vào các trường liền kề. Cụ thể: - Tại chỉ mục 16, nó đọc số lượng altmodes (altmode count). - Từ chỉ mục 18 trở đi, nó đọc vào mảng `altmode_desc[]`, chứa các VDO Discovery Modes SVDM do đối tác cung cấp.

Bằng cách tiêm một giá trị SVID được chọn trước vào `altmode_desc[0].vdo` và đặt `svid_index` thành 20, đối tác có thể buộc `paltmode->svid` phải tải một giá trị SVID tùy ý do đối tác lựa chọn, sau đó giá trị này sẽ được đăng ký thông qua hàm `typec_partner_register_altmode()`.

Khắc phục vấn đề bằng cách xác thực rằng `pmdata->svid_index` có giá trị không âm và nhỏ hơn nghiêm ngặt so với `pmdata->nsvids` trước khi truy cập mảng `pmdata->svids` bên trong hàm `svdm_consume_modes()`.

Be aware that VulDB is the high quality source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

19/07/2026

Tiết lộ

25/07/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00177

KEV

không

Các hoạt động

rất thấp

Nguồn

Want to stay up to date on a daily basis?

Enable the mail alert feature now!