CVE-2026-99036
Beschrijving NL
In de Linux-kernel is de volgende kwetsbaarheid verholpen:
dm: fix het lezen van vrij geheugen in do_resume
Wanneer do_resume dm_table_get_mode(new_map) aanroept, wordt de aanroep gedaan zonder
Het bevat geen vergrendelingen (het bevat alleen een verwijzing naar de md). Het kan zijn dat...
Het is mogelijk dat een andere gelijktijdige ioctl-bewerking op hetzelfde apparaat de swap-tabel zal wijzigen.
na dm_swap_table en vóór dm_table_get_mode. In dit geval,
dm_table_get_mode(new_map) leest vrijgegeven geheugen. Deze raceconditie werd veroorzaakt door syzbot. Deze commit verhelpt de raceconditie door de leesmodus van de nieuwe tabel te controleren voordat deze wordt gelezen.
dm_swap_table. Merk op dat new_map ook wordt doorgegeven aan dm_ima_need_measure.
maar deze functie probeert er geen verwijzing naar te maken, dus deze aanroep zou moeten
Wees voorzichtig. Houd er rekening mee dat dit geen beveiligingslek is, omdat alleen root dit kan veroorzaken.
De veelgebruikte tools zoals LVM of CryptSetup roepen de IOCTL's niet aan.
gelijktijdig, zodat ze het niet per ongeluk kunnen activeren.
Origineel (Engels) tonen
In the Linux kernel, the following vulnerability has been resolved:
dm: fix reading free memory in do_resume
When do_resume calls dm_table_get_mode(new_map), the call is done without
holding any locks (it only holds a reference to the md). It may be
possible that another concurrent ioctl on the same device will swap table
after dm_swap_table and before dm_table_get_mode. In this case,
dm_table_get_mode(new_map) reads freed memory.
This race condition was triggered by syzbot.
This commit fixes the race by reading mode of the new table before
dm_swap_table. Note that new_map is also passed to dm_ima_need_measure,
but this function doesn't attempt to dereference it, so this call should
be safe.
Note that this is not a security bug because only root can trigger it and
the commonly used tools such as lvm or cryptsetup do not call the ioctls
concurrently, so that they can't trigger it acceidentally.