HIGH Introduced in 7.2
ethosu SramRegion Bypass
CVE-2026-97911
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI7.8HIGH
01Description
In the Linux kernel, the following vulnerability has been resolved: accel: ethosu: Ensure SRAM region size matches job It is possible for userspace to set the job SRAM size to 0, but then still have SRAM accesses in the command stream. When the job SRAM size is 0, setting the region base register is skipped and a stale base address from a prior job is used. Check the region size against the job's SRAM size instead of just the size of the SRAM. The job's SRAM size was already checked against the total SRAM size.
02KernelScan AI Analysis
Risk summary
A local user with access to the Arm Ethos-U NPU accelerator device can submit a job with a SRAM size of zero while including SRAM accesses in the command stream. The driver fails to reject this because it validates the command stream region size against the total device SRAM rather than the job's declared SRAM size, causing the NPU to use a stale SRAM base address from a prior job and access memory outside its intended region.
Vulnerability analysis
A user can submit a job to the Arm Ethos-U NPU accelerator with the job's SRAM size set to zero while the command stream still contains SRAM region accesses. The driver validates the command stream's region size against the total device SRAM capacity rather than the per-job SRAM size, so the validation passes even though the job declared zero SRAM. Because the job SRAM size is zero, the driver skips programming the SRAM region base register, leaving a stale base address from a previous job. The NPU then performs SRAM accesses relative to that stale base, potentially reading or corrupting memory belonging to a different job or context. The fix changes the validation to compare the command stream region size against the job's declared SRAM size, so any job with zero SRAM that includes SRAM accesses is correctly rejected. This is reachable locally by any user with access to the Ethos-U DRM device node, which does not require root or special kernel capabilities.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 7.2 | 7.2 | 7.2.7 | 50c27d412fed |
| mainline | 7.2 | 7.3 | 2b39d680c9e0 |