CVE-2026-98592 in Linuxthông tin

Tóm tắt

Bởi VulDB • 19/10/2026

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

net: spacemit: xóa bộ mô tả TX (TX descriptor) khi thất bại trong ánh xạ phân đoạn

emac_tx_mem_map() ghi giá trị TX_DESC_0_OWN vào bộ mô tả vòng lặp cho mọi khe vượt quá old_head ngay khi bản sao cục bộ của khe đó đã được memset và cam kết bằng cách "*tx_desc_addr = tx_desc", tức là trước khi tất cả các bộ đệm (buffers) cho khe đó thực sự được ánh xạ thành công. Nếu emac_tx_map_frag() sau đó thất bại ở một phân đoạn muộn hơn, đường dẫn err_free_skb sẽ gọi emac_free_tx_buf() để hủy ánh xạ và giải phóng skb, nhưng không làm thay đổi vùng nhớ của bộ mô tả đã ghi trước đó, và tx_ring->head chưa bao giờ được tăng vượt quá old_head (câu lệnh "tx_ring->head = head" bị bỏ qua do lệnh goto).

Do đó, một khe nằm giữa old_head và đầu vòng lặp đã được hoàn tác có thể để lại trạng thái TX_DESC_0_OWN đang được đặt và buffer_addr_{1,2} trỏ đến các ánh xạ DMA mà emac_free_tx_buf() vừa hủy bỏ, trong khi phần mềm vẫn coi khe đó là tự do. Cuộc gọi thành công tiếp theo của emac_tx_mem_map() chỉ xây dựng lại chính old_head; nếu bộ điều khiển DMA tự động tiến vào bộ mô tả kế tiếp sau khi hoàn tất gói tin tại old_head, nó sẽ lấy địa chỉ cũ đã bị hủy ánh xạ.

emac_tx_clean_desc() vốn đã xử lý việc gọi emac_free_tx_buf() và xóa bộ mô tả như một cặp hành vi khi thu hồi các bộ mô tả đã hoàn thành; hãy thực hiện tương tự trong đường dẫn thất bại khi ánh xạ.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

18/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00198

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!