Linux: Double Free
CVE-2026-45852 is a high-severity double free vulnerability in Linux, with a CVSS 3.1 base score of 7.8 out of 10. It can be exploited with local access to the system by an attacker with a low-privileged account, without any action from a user. The record lists versions b98ab5494dbd48652561aa0b9c32f10500220745, d493e0bfc748a520c349d6c8791b262aa5ad2e4e, 9abff51163aa1bc275ec356f74fe976291860a7f 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.2% 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 b98ab5494dbd48652561aa0b9c32f10500220745 or d493e0bfc748a520c349d6c8791b262aa5ad2e4e or 9abff51163aa1bc275ec356f74fe976291860a7f or 26793db60925df1e88a29466813d586cbc190b8c, whichever matches your release line, or a later version.
- Update Linux Kernel to 5.10.259 or 5.15.210 or 6.1.176 or 6.6.128, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, b98ab5494dbd48652561aa0b9c32f10500220745; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, d493e0bfc748a520c349d6c8791b262aa5ad2e4e; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, 9abff51163aa1bc275ec356f74fe976291860a7f; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, 26793db60925df1e88a29466813d586cbc190b8c; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, ce6f8e007682f378279d4cf83b240f12d52c723b; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, 5c07aef09a121a4cd622a71eb0753a9e135c84a8; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, 26a9cfe12f4ffdeaa136f252478986fa5f397ddc; aae0484e15f062ad2c2502e68e15dfb8b8f84608 up to, but not including, 0beefd0e15d962f497aad750b2d5e9c3570b66d1; and 3 more ranges | b98ab5494dbd48652561aa0b9c32f10500220745, d493e0bfc748a520c349d6c8791b262aa5ad2e4e, 9abff51163aa1bc275ec356f74fe976291860a7f, 26793db60925df1e88a29466813d586cbc190b8c, ce6f8e007682f378279d4cf83b240f12d52c723b, 5c07aef09a121a4cd622a71eb0753a9e135c84a8 |
| Red Hat | Red Hat Enterprise Linux 7 Extended Lifecycle Support | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8 | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.6 Extended Update Support Long-Life Add-On | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.8 Telecommunications Update Service | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 9 | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 9.4 Update Services for SAP Solutions | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 9.6 Extended Update Support | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 10 | Not specified in the record | Not stated |
| Red Hat | Red Hat Enterprise Linux 6 | Not specified in the record | Not stated |
| Linux | Linux Kernel | 4.19.86 up to, but not including, 5.10.259; 5.11 up to, but not including, 5.15.210; 5.16 up to, but not including, 6.1.176; 6.2 up to, but not including, 6.6.128; 6.7 up to, but not including, 6.12.75; 6.13 up to, but not including, 6.18.14; 6.19 up to, but not including, 6.19.4 | 5.10.259, 5.15.210, 6.1.176, 6.6.128, 6.12.75, 6.18.14 |
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
- LocalThe attacker needs local access or must trick a user into running something.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- 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:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H. Scored by CNA.
| Scoring system | Score | Severity | Scored by |
|---|---|---|---|
| CVSS 3.1 | 7.8 | High | CNA |
| CVSS 3.1 | 7.0 | High | CNA |
Official description
In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix double free in rxe_srq_from_init In rxe_srq_from_init(), the queue pointer 'q' is assigned to 'srq->rq.queue' before copying the SRQ number to user space. If copy_to_user() fails, the function calls rxe_queue_cleanup() to free the queue, but leaves the now-invalid pointer in 'srq->rq.queue'. The caller of rxe_srq_from_init() (rxe_create_srq) eventually calls rxe_srq_cleanup() upon receiving the error, which triggers a second rxe_queue_cleanup() on the same memory, leading to a double free. The call trace looks like this: kmem_cache_free+0x.../0x... rxe_queue_cleanup+0x1a/0x30 [rdma_rxe] rxe_srq_cleanup+0x42/0x60 [rdma_rxe] rxe_elem_release+0x31/0x70 [rdma_rxe] rxe_create_srq+0x12b/0x1a0 [rdma_rxe] ib_create_srq_user+0x9a/0x150 [ib_core] Fix this by moving 'srq->rq.queue = q' after copy_to_user.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Double Free
The product calls free() twice on the same memory address.
How developers prevent this class of flaw
- Choose a language that provides automatic memory management.
- Ensure that each allocation is freed only once. After freeing a chunk, set the pointer to NULL to ensure the pointer cannot be freed again. In complicated error conditions, be sure that clean-up routines respect the state of allocation properly. If the language is object oriented, ensure that object destructors delete each chunk of memory only once.
- Use a static analysis tool to find double free instances.
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
- git.kernel.org/stable/c/0beefd0e15d962f497aad750b2d5e9c3570b66d1
- git.kernel.org/stable/c/26793db60925df1e88a29466813d586cbc190b8c
- git.kernel.org/stable/c/26a9cfe12f4ffdeaa136f252478986fa5f397ddc
- git.kernel.org/stable/c/5c07aef09a121a4cd622a71eb0753a9e135c84a8
- git.kernel.org/stable/c/9abff51163aa1bc275ec356f74fe976291860a7f
- git.kernel.org/stable/c/b98ab5494dbd48652561aa0b9c32f10500220745
- git.kernel.org/stable/c/ce6f8e007682f378279d4cf83b240f12d52c723b
- git.kernel.org/stable/c/d493e0bfc748a520c349d6c8791b262aa5ad2e4e
Other references
- access.redhat.com/errata/RHSA-2026:25120
- access.redhat.com/errata/RHSA-2026:25121
- access.redhat.com/errata/RHSA-2026:25217
- access.redhat.com/errata/RHSA-2026:27713
- access.redhat.com/errata/RHSA-2026:33899
- access.redhat.com/errata/RHSA-2026:34094
- access.redhat.com/errata/RHSA-2026:35844
- access.redhat.com/errata/RHSA-2026:35863
- access.redhat.com/errata/RHSA-2026:35896
- access.redhat.com/errata/RHSA-2026:41236
- access.redhat.com/security/cve/CVE-2026-45852
- bugzilla.redhat.com/show_bug.cgi?id=2482166
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-45852.json
Recent Double Free vulnerabilities
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 7.8 High severity
- 9.8 Critical severity
- 7.8 High severity
Spotted an error? Tell us.