| 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-26825: nfc: nci: free rx_data_reassembly skb on NCI device cleanup |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| nfc: nci: free rx_data_reassembly skb on NCI device cleanup |
| |
| rx_data_reassembly skb is stored during NCI data exchange for processing |
| fragmented packets. It is dropped only when the last fragment is processed |
| or when an NTF packet with NCI_OP_RF_DEACTIVATE_NTF opcode is received. |
| However, the NCI device may be deallocated before that which leads to skb |
| leak. |
| |
| As by design the rx_data_reassembly skb is bound to the NCI device and |
| nothing prevents the device to be freed before the skb is processed in |
| some way and cleaned, free it on the NCI device cleanup. |
| |
| Found by Linux Verification Center (linuxtesting.org) with Syzkaller. |
| |
| The Linux kernel CVE team has assigned CVE-2024-26825 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 4.19.307 with commit 7e9a8498658b398bf11b8e388005fa54e40aed81 |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 5.4.269 with commit 71349abe3aba7fedcab5b3fcd7aa82371fb5ccbf |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 5.10.210 with commit 2f6d16f0520d6505241629ee2f5c131b547d5f9d |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 5.15.149 with commit 471c9ede8061357b43a116fa692e70d91941ac23 |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 6.1.79 with commit 5c0c5ffaed73cbae6c317374dc32ba6cacc60895 |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 6.6.18 with commit 16d3f507b0fa70453dc54550df093d6e9ac630c1 |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 6.7.6 with commit a3d90fb5c23f29ba59c04005ae76c5228cef2be9 |
| Issue introduced in 3.2 with commit 6a2968aaf50c7a22fced77a5e24aa636281efca8 and fixed in 6.8 with commit bfb007aebe6bff451f7f3a4be19f4f286d0d5d9c |
| |
| 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-26825 |
| 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/nfc/nci/core.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/7e9a8498658b398bf11b8e388005fa54e40aed81 |
| https://git.kernel.org/stable/c/71349abe3aba7fedcab5b3fcd7aa82371fb5ccbf |
| https://git.kernel.org/stable/c/2f6d16f0520d6505241629ee2f5c131b547d5f9d |
| https://git.kernel.org/stable/c/471c9ede8061357b43a116fa692e70d91941ac23 |
| https://git.kernel.org/stable/c/5c0c5ffaed73cbae6c317374dc32ba6cacc60895 |
| https://git.kernel.org/stable/c/16d3f507b0fa70453dc54550df093d6e9ac630c1 |
| https://git.kernel.org/stable/c/a3d90fb5c23f29ba59c04005ae76c5228cef2be9 |
| https://git.kernel.org/stable/c/bfb007aebe6bff451f7f3a4be19f4f286d0d5d9c |