Description
In the Linux kernel, the following vulnerability has been resolved: net/iucv: take a reference on the socket found in afiucv_hs_rcv() afiucv_hs_rcv() looks up the destination socket under iucv_sk_list.lock, drops the lock, and then passes the socket to the afiucv_hs_callback_*() handlers without holding a reference. AF_IUCV sockets are not RCU-protected and are freed synchronously by iucv_sock_kill() -> sock_put(), so a concurrent close can free the socket in the window between read_unlock() and the handler, which then dereferences freed memory (for example sk->sk_data_ready() in afiucv_hs_callback_syn()). Take a reference with sock_hold() while the socket is still on the list and release it with sock_put() once the handler has run.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3881ac441f642d56503818123446f7298442236b to < 5739be5c19495d709d902a2912c9102ce78740d5affected3881ac441f642d56503818123446f7298442236b to < bc6c6e546ffff8865daaeb622ef348c2d481e80faffected3881ac441f642d56503818123446f7298442236b to < e3e0679fc950191aff8f27fa78abcfc2462cff4aaffected3881ac441f642d56503818123446f7298442236b to < 4dc0e63abf8bc7ba8892e617c1fb8b204361e022affected3881ac441f642d56503818123446f7298442236b to < 1801cb20a5025a787d6853e19c38db138344b4b4affected3881ac441f642d56503818123446f7298442236b to < c75a950e77356e526672cba4584080c6c8b793b6affected3881ac441f642d56503818123446f7298442236b to < 5595ea59cdf29182cf6a270cacc1426c57b603deaffected3881ac441f642d56503818123446f7298442236b to < 4fa349156043dc119721d067329714179f501749affected
Linux Linux
Default version status: affected
3.2affected0 to < 3.2unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/5739be5c19495d709d902a2912c9102ce78740d5 ↗
- https://git.kernel.org/stable/c/bc6c6e546ffff8865daaeb622ef348c2d481e80f ↗
- https://git.kernel.org/stable/c/e3e0679fc950191aff8f27fa78abcfc2462cff4a ↗
- https://git.kernel.org/stable/c/4dc0e63abf8bc7ba8892e617c1fb8b204361e022 ↗
- https://git.kernel.org/stable/c/1801cb20a5025a787d6853e19c38db138344b4b4 ↗
- https://git.kernel.org/stable/c/c75a950e77356e526672cba4584080c6c8b793b6 ↗
- https://git.kernel.org/stable/c/5595ea59cdf29182cf6a270cacc1426c57b603de ↗
- https://git.kernel.org/stable/c/4fa349156043dc119721d067329714179f501749 ↗