CVE-2026-98207 in Linuxthông tin

Tóm tắt

Bởi VulDB • 06/10/2026

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

mmc: spi: đặt lại biến bytes_xfered trước khi thử lại các lỗi CRC

Hàm mmc_spi_data_do() cập nhật data->bytes_xfered sau mỗi khối dữ liệu được chuyển thành công. Nếu một khối tiếp theo trong cùng yêu cầu dữ liệu bị lỗi do sai checksum (CRC), thì data->bytes_xfered có thể chứa số byte đã hoàn tất trước khi xảy ra lỗi ở khối đó.

Hàm mmc_spi_request() có một đường dẫn khôi phục riêng cho các trường hợp lỗi CRC như vậy. Nó gửi lệnh STOP_TRANSMISSION, xóa data->error và quay lại crc_recover để phát lại cùng lệnh và yêu cầu dữ liệu. Tuy nhiên, nó không đặt lại data->bytes_xfered trước khi thử lại.

Nếu lần thử lại thành công, yêu cầu sẽ được hoàn tất với các byte từ nỗ lực thất bại vẫn còn nằm trong data->bytes_xfered. Đối với một yêu cầu đa khối (multi-block), điều này có thể khiến báo cáo về yêu cầu đã hoàn chỉnh hiển thị nhiều byte hơn so với số lượng thực tế do lần thử lại thành công chuyển đi, và thậm chí vượt quá kích thước của yêu cầu khi hầu hết các khối được xử lý xong trước khi xảy ra lỗi CRC.

Hiện tượng này thường xuất hiện trên các hệ thống MMC-over-SPI nơi việc truyền dữ liệu đa khối dài đôi khi gặp lỗi checksum (CRC) nhưng cơ chế thử lại nội bộ của mmc_spi thành công. Dữ liệu thực tế sẽ được thử lại, nhưng quá trình tính toán hoàn tất thì không.

Hãy đặt lại data->bytes_xfered cùng với data->error trước khi lặp lại yêu cầu để báo cáo hoàn tất cuối cùng chỉ ghi nhận các byte đã chuyển đi trong lần thử thành công.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

06/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!