{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53170","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.389Z","datePublished":"2026-06-25T08:38:48.728Z","dateUpdated":"2026-08-05T12:33:39.324Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:33:39.324Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\naccel/ethosu: reject DMA commands with uninitialized length\n\ncmd_state_init() initializes the command state with memset(0xff),\nleaving dma->len at U64_MAX to signal missing setup. The only setter\nis NPU_SET_DMA0_LEN; if userspace omits this command and issues\nNPU_OP_DMA_START, dma->len remains U64_MAX.\n\nIn dma_length(), a positive stride added to U64_MAX wraps to a small\nvalue. With size0 == 1, check_mul_overflow() does not trigger and\ndma_length() returns 0 instead of U64_MAX. The caller's U64_MAX check\nthen passes, region_size[] stays 0, and the bounds check in\nethosu_job.c is bypassed, allowing hardware to execute DMA with stale\nphysical addresses.\n\nFix by checking for U64_MAX at the start of dma_length() before any\narithmetic, consistent with the sentinel value used throughout the\ndriver to detect uninitialized fields."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable path is reached through local DRM accel device ioctls for Ethos-U command stream creation and job submission. There is no network, adjacent, or physical packet/device insertion path to this parser.\nAC:L - The attacker controls the userspace command stream, can omit NPU_SET_DMA0_LEN, set the DMA mode/stride/size values needed for wraparound, and can prime stale base registers with prior jobs. No race or condition outside the attacker’s control is required.\nPR:L - The Ethos-U ioctls are registered without DRM_ROOT_ONLY, DRM_AUTH, or DRM_MASTER checks, so no kernel capability or administrator privilege is required. Exploitation requires a local low-privileged user able to open the accel device node.\nUI:N - Once the local attacker can issue the ioctls, the command stream validation bypass and hardware job execution occur without any victim action. No user needs to open a file, mount anything, or approve the job.\nS:C - The bug lets a userspace client drive an external DMA-capable NPU using stale DMA addresses outside the per-job GEM/DMA isolation the driver is supposed to enforce. This is a DMA boundary bypass, so impact can extend beyond the vulnerable parser’s normal security authority.\nC:H - A malicious DMA command can use a stale source base address and copy data from another or freed DMA mapping into attacker-controlled memory. In the highest reasonable embedded deployment, stale physical DMA access can expose sensitive kernel or cross-process memory.\nI:H - A malicious DMA command can use a stale destination base address and write attacker-controlled data outside the authorized GEM buffer. This can corrupt other DMA buffers or reused kernel memory and is defensibly an arbitrary memory modification primitive.\nA:H - Invalid or malicious DMA can trigger NPU bus faults, scheduler resets, hangs, or broader kernel memory corruption. Repeated local submission can therefore cause high availability impact."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/ethosu/ethosu_gem.c"],"versions":[{"version":"5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b","lessThan":"fb25c76a820ca8a547aa478bfb503da0a11494ab","status":"affected","versionType":"git"},{"version":"5a5e9c0228e613f0ef2a58b9782d7c0ea8f1e58b","lessThan":"d9d021218162b6c4fe0bdf42b2b340f1aae23a12","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/accel/ethosu/ethosu_gem.c"],"versions":[{"version":"6.19","status":"affected"},{"version":"0","lessThan":"6.19","status":"unaffected","versionType":"semver"},{"version":"7.0.13","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.0.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/fb25c76a820ca8a547aa478bfb503da0a11494ab"},{"url":"https://git.kernel.org/stable/c/d9d021218162b6c4fe0bdf42b2b340f1aae23a12"}],"title":"accel/ethosu: reject DMA commands with uninitialized length","x_generator":{"engine":"bippy-1.2.0"}}}}