CVE-2026-9728 in Zephyr
Zusammenfassung
von VulDB • 24.08.2026
Der Syscall-Verifier im Userspace z_vrfy_mbox_send() in drivers/mbox/mbox_handlers.c validierte die verschachtelten Felder msg->data/msg->size, indem er sie direkt aus dem aktiven Userspace-Speicher las und dann den ursprünglichen, weiterhin veränderbaren Zeiger auf die userspace-Struktur mbox_msg * an z_impl_mbox_send() sowie den zugrunde liegenden Treiber weiterleitete. Zwischen der Zugriffsprüfung und der Verwendung von msg->data durch den Treiber konnte der validierte Zeiger ersetzt werden, wodurch ein Time-of-Check/Time-of-Use-Fenster entstand.
Auf einem System mit CONFIG_USERSPACE kann jeder nicht privilegierte Userspace-Thread den mbox_send()-Syscall aufrufen. Ein zweiter Thread, der denselben Adressraum wie der Aufrufer teilt, kann einen Race Condition auslösen, um msg->data nach erfolgreichem Bestehen der Bereichsprüfung des Verifiers mit einer Supervisor-(Kernel)-Adresse zu überschreiben, bevor der Treiber diesen dereferenzieren kann. Der Treiser liest daraufhin von der vom Angreifer gewählten Adresse im Supervisor-Kontext (z. B. memcpy(&data32, msg->data, msg->size) im NXP-Mailbox-Treiber, dessen Bytes anschließend an den Peer-Mailbox-Endpunkt gesendet werden).
Die Auswirkung ist eine Umgehung der Zugriffskontrolle von Userspace zu Supervisor: Offenlegung von Kernel-Speicherinhalten (hohe Auswirkungen auf die Vertraulichkeit) oder bei einer ungültigen/nicht zugewiesenen Zieladresse ein fehlerhafter Kernel-Lesezugriff, der einen Denial of Service verursacht. Die Korrektur erstellt eine Momentaufnahme der gesamten mbox_msg-Struktur in einem Kopie im Kernel-Stapel mit k_usermode_from_copy() und validiert sowie leitet diese unveränderliche Kopie weiter, wodurch die Race Condition geschlossen wird.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.