data built 2026-10-19T13:16:53Z

Look up another CVE · open CVE-2026-98143 in the interactive tracker

CVE-2026-98143

accel: ethosu: Don't read the U65 rounding mode as a storage mode

7.8 EPSS 0.1% AV:L

Published 2026-09-25 (24 days ago) by the Linux kernel CNA. Subsystem drivers/accel. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-98143 in every release this site tracks, and what each one means in practice. Every status below is the one the Debian Security Team publishes for this CVE. source

ReleaseStatus VersionWhat this means
Debian 12bookwormnot affected6.1.190-1Nothing to do. bookworm never shipped the vulnerable code.
Debian 13trixienot affected6.12.113-1Nothing to do. trixie never shipped the vulnerable code.
Debian 14forkyfixed7.2.7-1Update the kernel and reboot. Fixed in 7.2.7-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.2.7-1Update the kernel and reboot. Fixed in 7.2.7-1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

Bits 15:14 of NPU_SET_{IFM,OFM}_PRECISION select the activation storage mode on U85 only. On U65 the same field holds the rounding mode, and the command stream parser has read it as a storage mode since the driver was added. That went unnoticed while unknown values fell through the switch, but now that they are rejected, every U65 command stream that asks for natural rounding (2) fails CMDSTREAM_BO_CREATE with -EINVAL. Mesa emits it for average pooling, concatenation, split, unpack, strided slice, LUT and argmax, which is 72 failures of the Teflon test suite on an i.MX93. Truncating rounding (1) is misread as well: it picks the two-tile address path and computes a bogus feature map size from tile bases the command stream never set. Read the field as a storage mode only on the hardware where it is one.

Where it lives

The fix touches these files. If the subsystem is one you do not use, the practical exposure is lower, though the package is still the vulnerable one.

drivers/accel/ethosu/ethosu_gem.c

What this is
ARM ETHOS-U NPU DRIVERMAINTAINERS section matched on drivers/accel/ethosu/ · dri-devel@lists.freedesktop.org · Supported

Check it on the machine

grep -wE 'CONFIG_DRM_ACCEL|CONFIG_DRM_ACCEL_ARM_ETHOSU' /boot/config-$(uname -r)

Reads the booted kernel's own configuration, on the machine and nowhere else. =y is built in, =m is a module, and an is not set line means the code is not there.

Show whether Debian builds this, per release

Debian does not build this code in 2 releases. The build rule could not be established for 2 releases, so nothing is claimed about those.

  • bookworm, trixie?
  • forky, sidn
?
not established - no Makefile entry for the affected file
n
not enabled on any flavour - this release does not build the code

Where a release above reads "not established", no build rule for the affected file was found in that release's kernel tree. That is a gap in this lookup, not a finding that the code is absent.

Build switches
CONFIG_DRM_ACCEL, CONFIG_DRM_ACCEL_ARM_ETHOSU
Reads as
all on means the file is compiled; any one off means it is not.

From the configuration Debian publishes for every kernel flavour it builds. It covers only the architectures Debian ships a linux-config package for, and nothing about a kernel you built yourself. Debian's own status above stays authoritative about the source package.MAINTAINERS kbuild Makefiles Debian linux-config packages

Signals

Published
2026-09-25 (24 days ago)source
CVSS
7.8 high
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hsource recompute it
Attack vector
local (AV:L)source
EPSS
0.11%, higher than 1.3% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
drivers/accel

Upstream fixes

The versions the CNA records as introducing and fixing this, and the commit for each. source

IntroducedFixed inCommit
6.197.2.76b08adbda8ea
6.197.3db9deec5a345

Why the CNA scored it this way

Quoted from the kernel CNA's own scoring file, word for word. A highlighted metric carries the most severe value CVSS v3.1 defines for it, which is what pushes the score up. source

AV:LAttack vector, local
The malformed data is an NPU command stream a local process passes through DRM_IOCTL_ETHOSU_CMDSTREAM_BO_CREATE on /dev/accel/accelN, which is validated by ethosu_gem_cmdstream_copy_and_validate() -> calc_sizes() -> feat_matrix_length(), then run via DRM_IOCTL_ETHOSU_SUBMIT. No network or radio transport carries it.
AC:LAttack complexity, low
The attacker writes the whole command stream: rounding bits 15:14 = 1 in NPU_SET_OFM_PRECISION, x past WIDTH0_M1, and an arbitrary NPU_SET_OFM_BASE1. The validator then checks only base[0] while the U65 hardware uses base[1]. The result is deterministic and needs no race.
PR:LPrivileges required, low
The ethosu ioctls CMDSTREAM_BO_CREATE and SUBMIT are registered with flags 0, with no DRM_ROOT_ONLY or capability check. Only permission to open the accel node is needed, which an ordinary user in the render/video group on a U65 board (e.g. i.MX93) holds.
UI:NUser interaction, none
The attacker's own process builds and submits the command stream. No other user has to do anything.
S:UScope, unchanged
The broken check is the kernel's own command-stream validator, and the NPU DMA it lets through corrupts the host kernel's own memory. That is the same security authority, i.e. a normal local privilege escalation, not a guest or sandbox escape.
C:HConfidentiality impact, high
With rounding mode 1 on U65, feat_matrix_length() uses the storage-1 tile path and never bounds IFM/IFM2 base[1]/base[3]. The NPU can therefore DMA-read memory past the region BO at an offset the attacker chooses, and the result comes back through the attacker's mmapped OFM BO.
I:HIntegrity impact, high
The same mismatch on NPU_SET_OFM_PRECISION leaves OFM base[1]/base[3] unchecked, so region_size[] understates what the hardware writes. The ethosu_job.c region_size > gem->size check passes while the NPU writes attacker-computed output outside the BO, into kernel memory.
A:HAvailability impact, high
Uncontrolled NPU DMA writes outside the BO can corrupt kernel data and panic the system. On unaffected command streams, the misread also makes every Mesa U65 job with natural rounding fail with -EINVAL.