CVE-2026-45950
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
May 27, 2026
CISA due date
—
Cloudanix analysis
A bug in a Linux encryption driver can slowly use up memory when certain operations fail, potentially making the system unstable if exploited by someone already on the machine.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Patch
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing kfree on error paths after kzalloc of rctx->adata in starfive_aes_aead_do_one_req allows repeated allocations without corresponding frees when sg_copy_to_buffer or starfive_aes_hw_init fail.
Why it matters to the business
Local users can gradually exhaust kernel memory on systems using the affected StarFive AES crypto driver, leading to degraded performance or denial of service over time.
How an attack unfolds
An attacker with local access triggers the AEAD request path repeatedly, forcing the error conditions before cleanup so that each iteration leaks a small kernel allocation until memory pressure becomes noticeable.
How to fix it
Apply the upstream fix that adds kfree calls on the early error paths in starfive_aes_aead_do_one_req; rebuild and deploy the patched kernel on all affected systems.
How to confirm the fix worked
Inspect the starfive_aes_aead_do_one_req function for unconditional freeing of rctx->adata after the write_adata operations and confirm the added kfree statements exist on the sg_copy_to_buffer and starfive_aes_hw_init failure paths; monitor kernel memory statistics under load.
Typical attack path
- Obtain local unprivileged access on a Linux system using the StarFive crypto driver
- Repeatedly invoke AEAD operations that reach starfive_aes_aead_do_one_req
- Force sg_copy_to_buffer or starfive_aes_hw_init to fail on each iteration
- Observe cumulative kernel memory consumption without corresponding frees
How to detect it
Review kernel logs and slab allocator statistics for repeated allocations from the StarFive AES context without matching frees; correlate with process activity invoking AEAD operations.
What your security team should do
- Prioritize patching systems that expose the StarFive AES driver to local users
- Review kernel configurations to disable unused crypto drivers where feasible
- Monitor memory usage trends on affected hosts until patches are applied
The record
In the Linux kernel, the following vulnerability has been resolved: crypto: starfive - Fix memory leak in starfive_aes_aead_do_one_req() The starfive_aes_aead_do_one_req() function allocates rctx->adata with kzalloc() but fails to free it if sg_copy_to_buffer() or starfive_aes_hw_init() fails, which lead to memory leaks. Since rctx->adata is unconditionally freed after the write_adata operations, ensure consistent cleanup by freeing the allocation in these earlier error paths as well. Compile tested only. Issue found using a prototype static analysis tool and code review.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-119286 GraphQL-core is a Python port of the GraphQL.js reference implementation. CWE-401
- CVE-2026-116157 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in PerlMagick that fails… CWE-401
- CVE-2026-116158 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the magick compare… CWE-401
- CVE-2026-116159 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116156 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak caused by a… CWE-401
- CVE-2026-116151 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the JNG… CWE-401
- CVE-2026-116155 ImageMagick before 6.9.13-58 and 7.x before 7.1.2-33 contains a memory leak in the… CWE-401
- CVE-2026-116152 ImageMagick before 7.1.2-33 contains a memory leak vulnerability in the MAT decoder that… CWE-401