Linux: Use After Free
CVE-2024-36013 is a high-severity use after free vulnerability in Linux, with a CVSS 3.1 base score of 8.8 out of 10. It can be exploited from the same local network by an unauthenticated attacker, without any action from a user. The record lists versions 8629a65a48890769c47ebc9b6e57c02a80a8975e, cfe560c7050bfb37b0d2491bbe7cd8b59e77fdc5, 826af9d2f69567c646ff46d10393d47e30ad23c6 as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.48% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to 8629a65a48890769c47ebc9b6e57c02a80a8975e or cfe560c7050bfb37b0d2491bbe7cd8b59e77fdc5 or 826af9d2f69567c646ff46d10393d47e30ad23c6 or 4d7b41c0e43995b0e992b9f8903109275744b658, whichever matches your release line, or a later version.
- Update Linux Kernel to 6.6.32 or 6.8.11, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | 73ffa904b78287f6acf8797e040150aa26a4af4a up to, but not including, 8629a65a48890769c47ebc9b6e57c02a80a8975e; 73ffa904b78287f6acf8797e040150aa26a4af4a up to, but not including, cfe560c7050bfb37b0d2491bbe7cd8b59e77fdc5; 73ffa904b78287f6acf8797e040150aa26a4af4a up to, but not including, 826af9d2f69567c646ff46d10393d47e30ad23c6; 73ffa904b78287f6acf8797e040150aa26a4af4a up to, but not including, 4d7b41c0e43995b0e992b9f8903109275744b658; 3.0 | 8629a65a48890769c47ebc9b6e57c02a80a8975e, cfe560c7050bfb37b0d2491bbe7cd8b59e77fdc5, 826af9d2f69567c646ff46d10393d47e30ad23c6, 4d7b41c0e43995b0e992b9f8903109275744b658 |
| Linux | Linux Kernel | 3.0 up to, but not including, 6.6.32; 6.7 up to, but not including, 6.8.11; 6.9 | 6.6.32, 6.8.11 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- AdjacentThe attacker must be on the same local network segment.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by CNA.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 8.8 | High | CNA |
| CVSS 3.1 | 6.8 | Medium | CISA (ADP) |
Official description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix slab-use-after-free in l2cap_connect() Extend a critical section to prevent chan from early freeing. Also make the l2cap_connect() return type void. Nothing is using the returned value but it is ugly to return a potentially freed pointer. Making it void will help with backports because earlier kernels did use the return value. Now the compile will break for kernels where this patch is not a complete fix. Call stack summary: [use] l2cap_bredr_sig_cmd l2cap_connect ┌ mutex_lock(&conn->chan_lock); │ chan = pchan->ops->new_connection(pchan); <- alloc chan │ __l2cap_chan_add(conn, chan); │ l2cap_chan_hold(chan); │ list_add(&chan->list, &conn->chan_l); ... (1) └ mutex_unlock(&conn->chan_lock); chan->conf_state ... (4) <- use after free [free] l2cap_conn_del ┌ mutex_lock(&conn->chan_lock); │ foreach chan in conn->chan_l: ... (2) │ l2cap_chan_put(chan); │ l2cap_chan_destroy │ kfree(chan) ... (3) <- chan freed └ mutex_unlock(&conn->chan_lock); ================================================================== BUG: KASAN: slab-use-after-free in instrument_atomic_read include/linux/instrumented.h:68 [inline] BUG: KASAN: slab-use-after-free in _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline] BUG: KASAN: slab-use-after-free in l2cap_connect+0xa67/0x11a0 net/bluetooth/l2cap_core.c:4260 Read of size 8 at addr ffff88810bf040a0 by task kworker/u3:1/311
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Use After Free
The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory belongs to the code that operates on the new pointer.
How developers prevent this class of flaw
- Choose a language that provides automatic memory management.
- When freeing pointers, be sure to set them to NULL once they are freed. However, the utilization of multiple or complex data structures may lower the usefulness of this strategy.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
Other references
- git.kernel.org/stable/c/8629a65a48890769c47ebc9b6e57c02a80a8975e
- openwall.com/lists/oss-security/2024/05/30/1Issue Tracking, Mailing List
- openwall.com/lists/oss-security/2024/05/30/2Issue Tracking, Mailing List
Recent Use After Free vulnerabilities
- 7.8 High severity
- 8.8 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
Spotted an error? Tell us.