Description
In the Linux kernel, the following vulnerability has been resolved: s390/iucv: MSG_PEEK causes memory leak in iucv_sock_destruct() Passing MSG_PEEK flag to skb_recv_datagram() increments skb refcount (skb->users) and iucv_sock_recvmsg() does not decrement skb refcount at exit. This results in skb memory leak in skb_queue_purge() and WARN_ON in iucv_sock_destruct() during socket close. To fix this decrease skb refcount by one if MSG_PEEK is set in order to prevent memory leak and WARN_ON. WARNING: CPU: 2 PID: 6292 at net/iucv/af_iucv.c:286 iucv_sock_destruct+0x144/0x1a0 [af_iucv] CPU: 2 PID: 6292 Comm: afiucv_test_msg Kdump: loaded Tainted: G W 6.10.0-rc7 #1 Hardware name: IBM 3931 A01 704 (z/VM 7.3.0) Call Trace: [<001587c682c4aa98>] iucv_sock_destruct+0x148/0x1a0 [af_iucv] [<001587c682c4a9d0>] iucv_sock_destruct+0x80/0x1a0 [af_iucv] [<001587c704117a32>] __sk_destruct+0x52/0x550 [<001587c704104a54>] __sock_release+0xa4/0x230 [<001587c704104c0c>] sock_close+0x2c/0x40 [<001587c702c5f5a8>] __fput+0x2e8/0x970 [<001587c7024148c4>] task_work_run+0x1c4/0x2c0 [<001587c7023b0716>] do_exit+0x996/0x1050 [<001587c7023b13aa>] do_group_exit+0x13a/0x360 [<001587c7023b1626>] __s390x_sys_exit_group+0x56/0x60 [<001587c7022bccca>] do_syscall+0x27a/0x380 [<001587c7049a6a0c>] __do_syscall+0x9c/0x160 [<001587c7049ce8a8>] system_call+0x70/0x98 Last Breaking-Event-Address: [<001587c682c4a9d4>] iucv_sock_destruct+0x84/0x1a0 [af_iucv]
Product status
eac3731bd04c7131478722a3c148b78774553116 (git) before 934326aef7ac4652f81c69d18bf44eebaefc39c3
eac3731bd04c7131478722a3c148b78774553116 (git) before 42251c2d1ef1cb0822638bebb87ad9120c759673
eac3731bd04c7131478722a3c148b78774553116 (git) before 783c2c6e61c5a04eb8baea598753d5fa174dbe85
eac3731bd04c7131478722a3c148b78774553116 (git) before 9f603e66e1c59c1d25e60eb0636cb307d190782e
eac3731bd04c7131478722a3c148b78774553116 (git) before ebaf81317e42aa990ad20b113cfe3a7b20d4e937
2.6.21
Any version before 2.6.21
6.1.120 (semver)
6.6.64 (semver)
6.11.11 (semver)
6.12.2 (semver)
6.13 (original_commit_for_fix)
References
lists.debian.org/debian-lts-announce/2025/03/msg00001.html
git.kernel.org/...c/934326aef7ac4652f81c69d18bf44eebaefc39c3
git.kernel.org/...c/42251c2d1ef1cb0822638bebb87ad9120c759673
git.kernel.org/...c/783c2c6e61c5a04eb8baea598753d5fa174dbe85
git.kernel.org/...c/9f603e66e1c59c1d25e60eb0636cb307d190782e
git.kernel.org/...c/ebaf81317e42aa990ad20b113cfe3a7b20d4e937