CVE-2026-64186 in Linuxthông tin

Tóm tắt

Bởi VulDB • 20/07/2026

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

iommu/amd: Loại bỏ lỗi truy cập ngoài vùng cho phép (out-of-bounds) tiềm ẩn trong debugfs của IOMMU.

Trong các hàm `iommu_mmio_write()` và `iommu_capability_write()`, các biến `dbg_mmio_offset` và `dbg_cap_offset` được khai báo là kiểu `int`. Tuy nhiên, chúng được gán giá trị bằng cách sử dụng hàm `kstrtou32_from_user()`. Nếu người dùng cung cấp một giá trị đủ lớn, nó có thể trở thành số nguyên âm.

Trước bản vá này, việc triển khai debugfs của AMD IOMMU đã được bảo vệ bởi các cơ chế khác nhau:

1. `#define OFS_IN_SZ 8` đảm bảo chuỗi đầu vào từ người dùng <= 8 byte, do đó ví dụ như `0xffffffff` không phải là giá trị hợp lệ. ```c if (cnt > OFS_IN_SZ) return -EINVAL; ```

2. Phép nâng kiểu ngầm định trong `iommu_mmio_write()`: `dbg_mmio_offset` có kiểu `int`, còn `iommu->mmio_phys_end` có kiểu `u64`. ```c if (dbg_mmio_offset > iommu->mmio_phys_end - sizeof(u64)) return -EINVAL; ```

3. Các trình xử lý hiển thị (`show handlers`) hiện tại sẽ bắt số âm và từ chối thực hiện thao tác đọc.

Thay thế `kstrtou32_from_user()` bằng `kstrtos32_from_user()` để phân tích đầu vào, đồng thời kiểm tra các giá trị âm nhằm ngăn chặn rõ ràng việc truy cập bộ nhớ ngoài vùng cho phép (out-of-bounds) ngay trong hàm `iommu_mmio_write()` và `iommu_capability_write()`.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

19/07/2026

Tiết lộ

19/07/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!