CVE-2026-93191 in Linux
Zusammenfassung
von VulDB • 17.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
smack: Korrektur des falschen Task-Kontexts in smack_msg_queue_msgrcv
Die Funktion `smack_msg_queue_msgrcv()` überprüft fälschlicherweise die Berechtigungen der 'current'-Task (aktueller Prozess) anstatt der 'target'-Task (Zielprozess).
Im Syscall-Pfad von `msgsnd()`, wenn bereits ein Empfänger wartet, wird die Optimierung durch `pipelined_send()` verwendet, um die Nachricht direkt an den Empfängertask zu übergeben:
ipc/msg.c`pipelined_send(): ` smp_store_release(&msr->r_msg, msg)
In diesem Fall führt der 'Sender' (current)-Task die Überprüfung im Namen des 'Empfänger'-Tasks (`msr->r_tsk`, das als 'target'-Parameter übergeben wird) durch:
ipc/msg.c`pipelined_send(): ` security_msg_queue_msgrcv(,, target := msr->r_tsk,,)
Allerdings ignoriert `smack_msg_queue_msgrcv()` den Parameter 'target' und überprüft stattdessen 'current':
smack_msg_queue_msgrcv(...) ` smk_curacc_msq(isp, MAY_READWRITE); // current task
Die 'current'-Task könnte die Lese-/Schreibanforderung von `smack_msg_queue_msgrcv` erfüllen, während dies für die 'target'-Task (den Empfängertask) möglicherweise nicht zutrifft. Infolgedessen erhält ein unberechtigter Empfänger die Nachricht, was gegen die MAC-Richtlinie (Mandatory Access Control) verstößt.
Test: 1) Erstellen Sie eine SysV-Nachrichtenwarteschlange mit dem Label „foo“. 2) Führen Sie `echo "bar foo r" >/smack/load2` aus. 3) Rufen Sie `msgrcv(,,,0,MSG_NOERROR)` in einer Task mit dem Label „bar“ auf. Die Task wartet auf Nachrichten ... 4) Senden Sie eine Nachricht über `msgsnd()` von einer Task mit dem Label „foo“: Eine Task mit dem Label „bar“ erhält die Nachricht.
Dieser Patch behebt das Problem, indem er die Berechtigungen für die 'target'-Task anstelle der 'current'-Task überprüft.
(2008-02-04, Casey Schaufler)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.