CVE-2026-89449 in Linuxinfo

Zusammenfassung

von VulDB • 12.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

iommu: Behebung eines Speicherverlusts (Memory Leak) in `dev_iommu`, wenn `device_add` im Aufruf von `iommu_mock_device_add` fehlschlägt.

Die Funktion `iommu_mock_device_add()` ruft zunächst `iommu_fwspec_init()` auf, das bei Erfolg sowohl `dev->iommu` (über `dev_iommu_get()`) als auch `dev->iommu->fwspec` alloziert. Wenn der nachfolgende Aufruf von `device_add(dev)` fehlschlägt, ruft der Fehlerpfad nur `iommu_fwspec_free(dev)` auf, was zwar den Speicher für `fwspec` freigibt, aber `dev->iommu` weiterhin im Speicher belässt.

Dies löst den folgenden kmemleak-Bericht aus, wenn mit Syzkaller gefuzzt wird:

BUG: memory leak unreferenced object 0xffff888011e0a200 (size 192): comm "syz.1.1695", pid 24885, jiffies 4295222527 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 ad 4e ad de .............N.. ff ff ff ff 00 00 00 00 ff ff ff ff ff ff ff ff ................ backtrace (crc 25df5bb3): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline]
slab_post_alloc_hook mm/slub.c:4575 [inline]
slab_alloc_node mm/slub.c:4899 [inline]
__kmalloc_cache_noprof+0x47a/0x710 mm/slub.c:5415 kmalloc_noprof include/linux/slab.h:950 [inline]
kzalloc_noprof include/linux/slab.h:1188 [inline]
dev_iommu_get+0x10c/0x1a0 drivers/iommu/iommu.c:408 iommu_fwspec_init+0x288/0x4d0 drivers/iommu/iommu.c:3087 iommu_mock_device_add+0x46/0xb0 drivers/iommu/iommu.c:385 mock_dev_create drivers/iommu/iommufd/selftest.c:1025 [inline]
iommufd_test_mock_domain drivers/iommu/iommufd/selftest.c:1066 [inline]
iommufd_test+0x2f8a/0x6190 drivers/iommu/iommufd/selftest.c:2072 iommufd_fops_ioctl+0x367/0x540 drivers/iommu/iommufd/main.c:533 vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl fs/ioctl.c:583 [inline]
__x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Behoben wird dies, indem anstelle von `iommu_fwspec_free(dev)` im Fehlerpfad von `device_add()` nun `dev_iommu_free(dev)` aufgerufen wird. Die Funktion `dev_iommu_free()` gibt sowohl den Speicher für `fwspec` als auch die äußere Struktur `dev_iommu` frei und setzt `dev->iommu` zurück.

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

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

12.09.2026

Moderieren

akzeptiert

Eintrag

VDB-402785

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!