Skip to main content
Vulnerability Database/CVE-2026-80833

CVE-2026-80833: Linux Kernel Use-After-Free Vulnerability

CVE-2026-80833 is a use-after-free vulnerability in the Linux kernel's crypto subsystem affecting the sun8i-ss driver. The flaw allows potential exploitation through signal handling. This article covers technical details, impact assessment, and mitigation strategies.

Published:

CVE-2026-80833 Overview

CVE-2026-80833 affects the Linux kernel's sun8i-ss crypto driver, which provides hardware pseudo-random number generation on Allwinner sun8i SoCs. The driver's crypto_rng interface contains two memory safety defects. The ->generate() function has a use-after-free condition caused by calling wait_for_completion_interruptible_timeout() without tearing down the DMA operation when a signal interrupts the wait. A separate buffer overread exists in the memcpy(ctx->seed, d + dlen, ctx->slen) call. Upstream maintainers removed the sun8i-sscrypto_rng support entirely rather than patch the individual bugs, aligning with the broader deprecation of the redundant crypto_rng interface for hardware PRNGs.

Critical Impact

Local processes interacting with the sun8i-ss PRNG interface can trigger a use-after-free involving in-flight DMA operations and read out-of-bounds kernel memory during seed handling.

Affected Products

  • Linux kernel versions containing the sun8i-sscrypto_rng driver implementation
  • Allwinner sun8i SoC platforms using the Security System (SS) hardware PRNG through the crypto_rng API
  • Downstream Linux distributions that ship the vulnerable sun8i-ss driver prior to the removal commits

Discovery Timeline

  • 2026-09-04 - CVE-2026-80833 published to NVD
  • 2026-09-07 - Last updated in NVD database

Technical Details for CVE-2026-80833

Vulnerability Analysis

The sun8i-ss driver exposed a hardware PRNG through the kernel's crypto_rng interface. This interface duplicates functionality already provided by hwrng and the Linux RNG subsystem, and upstream maintainers are phasing it out. The driver contains two distinct memory safety bugs [CWE-416] and [CWE-125].

The first defect resides in the ->generate() callback. The driver dispatches a DMA operation and blocks on wait_for_completion_interruptible_timeout(). When a signal wakes the thread before the DMA completes, the function returns without aborting or synchronizing the outstanding DMA transfer. The DMA engine continues writing into buffers whose owning structures the caller has already freed, producing a use-after-free.

The second defect is a buffer overread in memcpy(ctx->seed, d + dlen, ctx->slen). The source pointer is advanced past valid data, causing the copy to read ctx->slen bytes beyond the intended buffer boundary. Fixing the bugs individually offered no value, so the maintainers removed the crypto_rng interface from sun8i-ss entirely.

Root Cause

The root cause is unsafe interaction between interruptible waits and asynchronous DMA. The driver assumes the DMA operation completes or is cancelled before the caller-owned buffers are released, but no cancellation path exists on the interruptible timeout branch. The overread stems from incorrect pointer arithmetic on the seed source buffer.

Attack Vector

Exploitation requires local access with the ability to invoke the crypto_rng API against the sun8i-ss driver. A local process can send a signal to a thread blocked in ->generate() to force the interruptible wait to return early, leaving the DMA engine writing to freed memory. The overread path is triggered through normal seed operations against the driver.

No exploitation code was released. See the upstream fixes in Linux Kernel Commit 7c257a295e and Linux Kernel Commit a78446ee6f for the code-level remediation.

Detection Methods for CVE-2026-80833

Indicators of Compromise

  • Kernel oops or KASAN reports referencing sun8i_ss_prng_generate or the sun8i-ss module with use-after-free or slab-out-of-bounds tags.
  • Unexpected kernel panics on Allwinner sun8i platforms following signals delivered to processes that consume kernel random number generators.
  • DMA completion timeouts logged by the Allwinner Security System driver correlated with process termination events.

Detection Strategies

  • Enable KASAN in test kernels for sun8i-based hardware and exercise the crypto_rng interface to surface the use-after-free and overread paths.
  • Inventory running kernels against the fixed commits listed in the upstream references to identify hosts still exposing the vulnerable driver.
  • Monitor dmesg and persistent kernel log storage for repeated sun8i-ss errors that indicate abnormal PRNG interaction.

Monitoring Recommendations

  • Forward kernel logs from Allwinner-based embedded and IoT devices to a centralized log store for correlation of crash signatures.
  • Track module load events for sun8i-ss and alert on unexpected loads on production hosts.
  • Baseline PRNG consumer activity so anomalous callers of the deprecated crypto_rng API can be identified.

How to Mitigate CVE-2026-80833

Immediate Actions Required

  • Update affected Linux kernels to a stable release containing the removal commits referenced by the CVE.
  • Rebuild custom or vendor kernels for Allwinner sun8i hardware against a fixed source tree and redeploy to affected devices.
  • Restrict local access on multi-tenant systems that still run vulnerable kernels until patches are applied.

Patch Information

The upstream remediation removes the sun8i-sscrypto_rng implementation rather than repairing the individual bugs. The fix is distributed across Linux Kernel Commit 7c257a295e, Linux Kernel Commit 8ab58786b4c, Linux Kernel Commit a78446ee6f, and Linux Kernel Commit d29ccf9eeb. The commits are marked with Fixes: and Cc: stable so they will flow into supported stable branches.

Workarounds

  • Build kernels for sun8i platforms without the sun8i-sscrypto_rng support where feasible, relying on hwrng and the Linux RNG instead.
  • Blacklist or unload the sun8i-ss module on affected devices where the hardware PRNG path is not required.
  • Limit which unprivileged users can invoke crypto_rng-backed interfaces on impacted systems until the kernel is upgraded.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.