CVE-2026-64192 in Linux
Zusammenfassung
von VulDB • 20.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bpf: Ablehnung der Erstellung von BPF_MAP_TYPE_INODE_STORAGE, wenn das BPF-LSM nicht initialisiert ist
Wenn CONFIG_BPF_LSM=y festgelegt ist, werden BPF-Inode-Speicherabbildungen (BPF_MAP_TYPE_INODE_STORAGE) in den Kernel kompiliert. Wenn das BPF-LSM jedoch zur Bootzeit nicht explizit aktiviert wird (z. B. wenn es im „lsm="-Bootparameter weggelassen wurde), wird lsm_prepare() niemals für das BPF-LSM ausgeführt.
Infolgedessen wird der Offset des BPF-Inode-Sicherheitsblobs (bpf_lsm_blob_sizes.lbs_inode) nie initialisiert und bleibt bei seiner standardmäßigen Kompiliergröße von 8 Bytes, anstatt auf einen gültigen Offset jenseits des reservierten struct rcu_head aktualisiert zu werden (typischerweise 16 Byte oder mehr).
Wenn ein privilegierter Benutzer eine BPF_MAP_TYPE_INODE_STORAGE-Map erstellt und aktualisiert, wertet bpf_inode() inode->i_security + 8 aus. Dies führt fälschlicherweise dazu, dass der Callback-Zeiger struct rcu_head.func am Anfang des inode->i_security-Blobs aliasisiert wird. Während nachfolgender Bereinigungen von Map-Elementen oder Zerstörung von Inodes löscht das Schreiben von NULL in owner_storage den abgelegten RCU-Callback-Zeiger. Wenn rcu_do_batch() später den abgelegten Callback ausführt, versucht es einen Instruction Fetch an der Adresse 0x0, was sofort zu einem Kernel-Panic führt.
Behoben wird dies durch Einführung eines globalen booleschen Flags bpf_lsm_initialized, das mit __ro_after_init markiert ist. Dieses Flag wird in bpf_lsm_init() auf true gesetzt, wenn das LSM-Framework das BPF-LSM erfolgreich registriert hat. Die Map-Allokation in inode_storage_map_alloc() wird an dieses Flag gekoppelt; falls das BPF-LSM nicht initialisiert ist, wird -EOPNOTSUPP zurückgegeben.
Dieser Fail-fast-Ansatz verhindert, dass Userspace Inode-Speicherabbildungen alloziert, wenn die unterstützende BPF-LSM-Infrastruktur fehlt, und vermeidet so Zombie-Map-Zustände.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.