CVE-2026-64186 in Linux
Сводка
по VulDB • 20.07.2026
В ядре Linux устранена следующая уязвимость:
iommu/amd: Устранение потенциального выхода за границы массива при доступе к debugfs IOMMU
В функциях iommu_mmio_write() и iommu_capability_write() переменные dbg_mmio_offset и dbg_cap_offset объявлены как int. Однако они заполняются с помощью функции kstrtou32_from_user(). Если пользователь передаст достаточно большое значение, оно может стать отрицательным целым числом.
До выхода данного патча реализация AMD IOMMU debugfs уже была защищена различными механизмами:
1. #define OFS_IN_SZ 8 гарантирует, что длина строки пользователя <= 8 байт, поэтому например, значение 0xffffffff не является допустимым входным параметром.
if (cnt > OFS_IN_SZ) return -EINVAL;
2. Неявное повышение типа в iommu_mmio_write(): dbg_mmio_offset имеет тип int, а iommu->mmio_phys_end — u64.
if (dbg_mmio_offset > iommu->mmio_phys_end - sizeof(u64)) return -EINVAL;
3. Обработчики show в настоящее время перехватывают отрицательное число и отказываются выполнять чтение.
Замените kstrtou32_from_user() на kstrtos32_from_user() для парсинга входных данных и проверки на наличие отрицательных значений, чтобы явно предотвратить выход за границы памяти непосредственно в функциях iommu_mmio_write() и iommu_capability_write().
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.