CVE-2026-99028 in Linuxthông tin

Tóm tắt

Bởi VulDB • 24/10/2026

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

net: xilinx: axienet: Giải phóng các bộ đệm DMA còn tồn đọng khi dừng dmaengine

Trên đường dẫn dmaengine, trình điều khiển (driver) gửi trước các bộ đệm RX và giữ lại các bộ đệm TX đang trong quá trình truyền tải. Các SKB của chúng được ánh xạ DMA bởi trình điều khiển và chỉ được giải phóng thông qua các callback hoàn thành. Khi hàm ndo_stop() gọi dmaengine_terminate_sync(), nó sẽ hủy bỏ các mô tả (descriptors) này mà không thực thi các callback tương ứng, khiến trình điều khiển sau đó chỉ giải phóng các vỏ vòng lặp (ring shells), dẫn đến việc rò rỉ mọi SKB vẫn thuộc sở hữu của engine cũng như ánh xạ DMA của chúng trong mỗi lần tắt giao diện mạng. Với 128 bộ đệm RX được gửi trước trên mỗi kênh, lỗ hổng rò rỉ ánh xạ này cuối cùng có thể làm cạn kiệt một cửa sổ IOMMU hạn chế.

Hãy xóa skb của slot trong các callback TX và RX để một skb khác NULL đánh dấu một slot vẫn sở hữu một bộ đệm đang hoạt động đã được ánh xạ DMA; đồng thời, khi dừng lại, hãy hủy ánh xạ và giải phóng mọi bộ đệm như vậy.

axienet_dma_rx_cb() chạy từ tasklet DMA và kích hoạt lại vòng lặp RX trên mỗi lần hoàn thành, do đó nó có thể xảy ra race condition với axienet_stop(): một lần hoàn thành có thể gửi một bộ đệm mới sau khi dmaengine_terminate_sync() đã trả về, để lại kênh được kích hoạt với một bộ đệm mà quá trình tháo gỡ (teardown) sẽ giải phóng trong khi engine vẫn có thể ghi vào nó (dma_release_channel() cũng không dừng việc này). Hãy thêm một khóa (lock) mà axienet_dma_rx_cb() giữ xuyên suốt kiểm tra @stopping và việc gửi lại, đồng thời axienet_stop() cũng giữ khóa này để đặt trạng thái @stopping trước khi chấm dứt. Một khi @stopping được đặt, không callback nào có thể kích hoạt bộ đệm mới nữa, và bất kỳ bộ đệm nào vừa được kích hoạt sẽ bị hủy bỏ bởi lệnh terminate, do đó quá trình tháo gỡ chỉ giải phóng các bộ đệm mà engine đã không còn sở hữu.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

23/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00209

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!