Live › vulnerability › CVE-2026-99133
Go to dashboardOn classic z/VM AF_IUCV sockets, a recvmsg() window update dereferences a NULL HiperSockets device, and a race can double-send flow-control credit. An unprivileged local process can trigger a spurious disconnect, and the sources do not say whether memory corruption or code execution is possible.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-28 11:32 UTC. All times on this page are UTC.
Only Linux systems running on IBM Z mainframes with z/VM IUCV sockets (AF_IUCV) are exposed; the advisory text describes the classic z/VM transport path, not HiperSockets. Hosts without IBM Z hardware or without AF_IUCV sockets in use can skip it. The sources do not give a fixed kernel version.
No product ranges from the sources yet.
Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
In the Linux kernel, the following vulnerability has been resolved:
net/iucv: fix the recvmsg window update
iucv_sock_recvmsg() sends the HiperSockets-only AF_IUCV_FLAG_WIN without testing the transport, so on a classic z/VM socket iucv_send_ctrl() sizes the skb through a NULL iucv->hs_dev. SO_MSGLIMIT accepts 1, so msglimit / 2 is zero and one recvmsg() on its own socket is enough for an unprivileged process to take a spurious disconnect.
It also calls iucv_send_ctrl() under spin_lock_bh(&message_q.lock), which allocates GFP_KERNEL inside a section the code treats as atomic. Sending outside that lock lets two recvmsg() reach afiucv_hs_send() at once, where msg_recv is sampled for the advertised window and subtracted after dev_queue_xmit() -- and sendmsg reaches that counter under lock_sock() while recvmsg holds no socket lock, so both can subtract the same value, the counter goes negative and the credit reaches the peer twice.
Test the transport, claim the credit with atomic_xchg() after the last error exit and hand it back if the transmit fails, and send once the lock is dropped.
This page as .md · .json · in your agent: get_signal("CVE-2026-99133")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.