CVE-2024-53130 in Linux
Zusammenfassung
von VulDB • 25.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
nilfs2: Behebung einer NULL-Zeiger-Dereferenzierung im Tracepoint „block_dirty_buffer“
Bei Verwendung des Tracepoints „block:block_dirty_buffer“ kann mark_buffer_dirty() zu einer Dereferenzierung eines NULL-Zeigers oder zu einem allgemeinen Schutzfehler führen, wenn KASAN aktiviert ist.
Dies geschieht, da der seit der Einführung des Tracepoints in mark_buffer_dirty() referenzierte Member dev_t bh->b_bdev->bd_dev unabhängig davon aufgerufen wird, ob das Buffer-Head einen Zeiger auf eine block_device-Struktur enthält.
In der aktuellen Implementierung setzt nilfs_grab_buffer(), welches einen Puffer zum Lesen (oder Erstellen) eines Metadatenblocks, einschließlich B-Baum-Knotenblöcken, bereitstellt, kein Blockgerät fest; dies erfolgt stattdessen nur dann, wenn sich der Puffer in keinem „uptodate“-Zustand befindet, für jede seiner aufrufenden Funktionen zur Blocks leseoperation. Wenn jedoch das uptodate-Flag auf einem Folio/Page gesetzt ist und die Buffer-Headers durch try_to_free_buffers() davon getrennt werden und anschließend neue Buffer-Headers durch create_empty_buffers() angehängt werden, kann das uptodate-Flag wiederhergestellt werden, ohne dass bh->b_bdev festgelegt wird. mark_buffer_dirty() könnte später in diesem Zustand aufgerufen werden, was zu dem oben genannten Fehler führt.
Behebung dieses Problems dadurch, dass nilfs_grab_buffer() immer das Blockgerät der Superblock-Struktur für den Buffer-Head festlegt, unabhängig vom Status des uptodate-Flags des Puffers.
If you want to get best quality of vulnerability data, you may have to visit VulDB.