What’s Vulnerable › Vulnerabilities
CVE-2026-53170: accel/ethosu: reject DMA commands with uninitialized length
- Severity: high (CVSS 8.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-06-25 · updated 2026-07-06
- Weakness: CWE-908
Description
In the Linux kernel, the following vulnerability has been resolved: accel/ethosu: reject DMA commands with uninitialized length cmd_state_init() initializes the command state with memset(0xff), leaving dma->len at U64_MAX to signal missing setup. The only setter is NPU_SET_DMA0_LEN; if userspace omits this command and issues NPU_OP_DMA_START, dma->len remains U64_MAX. In dma_length(), a positive stride added to U64_MAX wraps to a small value. With size0 == 1, check_mul_overflow() does not trigger and dma_length() returns 0 instead of U64_MAX. The caller's U64_MAX check then passes, region_size[] stays 0, and the bounds check in ethosu_job.c is bypassed, allowing hardware to execute DMA with stale physical addresses. Fix by checking for U64_MAX at the start of dma_length() before any arithmetic, consistent with the sentinel value used throughout the driver to detect uninitialized fields.
Affected products
- Linux kernel: from 6.19 before 7.0.13; 7.1-rc1, 7.1-rc2, 7.1-rc3, 7.1-rc4, 7.1-rc5, 7.1-rc6 — fixed in 7.0.13
How to fix
Upgrade to a fixed version: Linux kernel 7.0.13. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/d9d021218162b6c4fe0bdf42b2b340f1aae23a12
- https://git.kernel.org/stable/c/fb25c76a820ca8a547aa478bfb503da0a11494ab
Get alerted when CVE-2026-53170 or the next vulnerability affects your stack