CVE-2026-99133 in Linux
Zusammenfassung
von VulDB • 29.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net/iucv: Korrektur der Fensteraktualisierung bei recvmsg
iucv_sock_recvmsg() sendet das nur für HiperSockets bestimmte AF_IUCV_FLAG_WIN, ohne den Transporttyp zu prüfen. Daher wird auf einem klassischen z/VM-Socket iucv_send_ctrl() die Größe des skb über ein NULL-iucv->hs_dev festgelegt. Da SO_MSGLIMIT 1 akzeptiert, ist msglimit / 2 gleich null, und ein einzelner recvmsg()-Aufruf im eigenen Socket reicht aus, damit ein unprivilegierter Prozess eine falsche Trennung (spurious disconnect) verursacht.
Darüber hinaus wird iucv_send_ctrl() unter spin_lock_bh(&message_q.lock) aufgerufen, was innerhalb eines als atomar behandelten Abschnitts GFP_KERNEL alloziert. Das Senden außerhalb dieses Locks ermöglicht es zwei recvmsg()-Aufrufen, gleichzeitig afiucv_hs_send() zu erreichen, wo msg_recv für das beworbene Fenster abgelesen und nach dev_queue_xmit() subtrahiert wird – während sendmsg diesen Zähler unter lock_sock() erreicht, recvmsg jedoch keinen Socket-Lock hält. Somit können beide denselben Wert subtrahieren, der Zähler geht negativ zurück, und die Gutschrift (Credit) wird dem Peer zweimal gutgeschrieben.
Es sollte der Transporttyp geprüft werden, die Gutschrift nach dem letzten Fehlerausstieg mit atomic_xchg() beansprucht und bei einem fehlgeschlagenen Sendevorgang wieder freigegeben werden; zudem ist einmalig zu senden, nachdem das Lock aufgehoben wurde.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.