| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-53210: s390/iucv: MSG_PEEK causes memory leak in iucv_sock_destruct() |
| |
| 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] |
| |
| The Linux kernel CVE team has assigned CVE-2024-53210 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 2.6.21 with commit eac3731bd04c7131478722a3c148b78774553116 and fixed in 6.1.120 with commit 934326aef7ac4652f81c69d18bf44eebaefc39c3 |
| Issue introduced in 2.6.21 with commit eac3731bd04c7131478722a3c148b78774553116 and fixed in 6.6.64 with commit 42251c2d1ef1cb0822638bebb87ad9120c759673 |
| Issue introduced in 2.6.21 with commit eac3731bd04c7131478722a3c148b78774553116 and fixed in 6.11.11 with commit 783c2c6e61c5a04eb8baea598753d5fa174dbe85 |
| Issue introduced in 2.6.21 with commit eac3731bd04c7131478722a3c148b78774553116 and fixed in 6.12.2 with commit 9f603e66e1c59c1d25e60eb0636cb307d190782e |
| Issue introduced in 2.6.21 with commit eac3731bd04c7131478722a3c148b78774553116 and fixed in 6.13 with commit ebaf81317e42aa990ad20b113cfe3a7b20d4e937 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-53210 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| net/iucv/af_iucv.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/934326aef7ac4652f81c69d18bf44eebaefc39c3 |
| https://git.kernel.org/stable/c/42251c2d1ef1cb0822638bebb87ad9120c759673 |
| https://git.kernel.org/stable/c/783c2c6e61c5a04eb8baea598753d5fa174dbe85 |
| https://git.kernel.org/stable/c/9f603e66e1c59c1d25e60eb0636cb307d190782e |
| https://git.kernel.org/stable/c/ebaf81317e42aa990ad20b113cfe3a7b20d4e937 |