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

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

CVE-2026-74452

drm/panthor: reject firmware sections with oversized data

7.8 EPSS 0.2% AV:L

Published 2026-08-15 (2 months ago) by the Linux kernel CNA. Subsystem drivers/gpu. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-74452 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 13trixiefixedDSA-6466-1 · 2026-08-25 · text6.12.105-1Update the kernel and reboot. DSA-6466-1 shipped the fix on 2026-08-25, in 6.12.105-1. A running kernel keeps the old code until the machine restarts.
Debian 14forkyfixed7.1.8-1Update the kernel and reboot. Fixed in 7.1.8-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.1.8-1Update the kernel and reboot. Fixed in 7.1.8-1. A running kernel keeps the old code until the machine restarts.
Debian 12bookworm · linux-6.12fixedDLA-4788-1 · 2026-09-19 · text6.12.107-1~deb12u1Update the kernel and reboot. DLA-4788-1 shipped the fix on 2026-09-19, in 6.12.107-1~deb12u1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

In panthor_fw_load_section_entry(), the data size to copy is calculated without validating it against the allocated section_size: section->data.size = hdr.data.end - hdr.data.start; If a crafted firmware sets data.size larger than the allocated memory, this could cause a heap buffer overflow in panthor_fw_init_section_mem() memcpy(section->mem->kmap, section->data.buf, section->data.size); Additionally, if the section->data.size exceeds the BO size, could this memset underflow the size calculation, leading to a massive out-of-bounds zeroing of kernel memory? memset(section->mem->kmap + section->data.size, 0, panthor_kernel_bo_size(section->mem) - section->data.size); Reject section entries whose initial data is larger than the section size.

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/gpu/drm/panthor/panthor_fw.c

What this is
ARM MALI PANTHOR DRM DRIVERMAINTAINERS section matched on drivers/gpu/drm/panthor/ · dri-devel@lists.freedesktop.org · Supported
Kernel module
panthor

Check it on the machine

grep -w CONFIG_DRM_PANTHOR /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.

lsmod | grep -w panthor

Prints a line if that module is loaded right now, and nothing if it is not. One that is not loaded can still be loaded later by anything that needs it.

Show whether Debian builds this, per release

Debian builds this, but not on every flavour. At least one release below builds the code on some of its kernel flavours and not on others, so the answer depends on the architecture and flavour installed. The build rule could not be established for 1 release, so nothing is claimed about those.

  • bookworm?
  • trixieMnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt/amd64, arm64/cloud-arm64, armel/rpi, armhf/armmp, armhf/armmp-lpae, armhf/rt/armmp, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
  • forky, sidMnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt-amd64, arm64/cloud-arm64, armhf/armmp, armhf/armmp-lpae, loong64/loong64, ppc64el/powerpc64le, ppc64el/powerpc64le-64k, riscv64/riscv64, s390x/s390x
  • bookworm · linux-6.12Mnot built on amd64/amd64, amd64/cloud-amd64, amd64/rt/amd64, arm64/cloud-arm64, armhf/armmp, armhf/armmp-lpae, armhf/rt/armmp, ppc64el/powerpc64le, ppc64el/powerpc64le-64k
?
not established - no Makefile entry for the affected file
M
a module where it is built at all; some flavours do not build it

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 switch
CONFIG_DRM_PANTHOR

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-08-15 (2 months 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.19%, higher than 8.0% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
drivers/gpu

Upstream fixes

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

IntroducedFixed inCommit
6.106.12.1030e57165ca025
6.106.18.442a761b9be586
6.107.1.87f4674d986c1
6.107.2a3caaa068092

Debian advisories

AdvisoryDateShipped toDebian
DLA-4788-12026-09-19bookworm 6.12.107-1~deb12u1tracker
DSA-6466-12026-08-25trixie 6.12.105-1tracker

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 overflow is reached only when panthor_fw_load() parses mali_csffw.bin from the local firmware search path during platform probe (panthor_probe→panthor_fw_init→panthor_fw_load_section_entry→panthor_fw_init_section_mem); no network, DRM ioctl, or /dev/dri/renderD* path feeds attacker-controlled firmware headers.
AC:LAttack complexity, low
An attacker fully controls firmware section header fields (data.start/end versus va.start/end); once a malicious blob is in the firmware path, parsing deterministically performs an oversized memcpy and, with ZERO set, an underflowed memset on every load and on GPU-reset reloads without races or uncontrollable layout.
PR:LPrivileges required, low
The parser performs no capability or authentication checks on firmware content; on Mali CSF Android, Chromebook, and embedded deployments the GPU firmware image commonly lives on vendor/firmware partitions writable by local non-root system or vendor service accounts, sufficient to plant the crafted blob before driver probe.
UI:NUser interaction, none
After the malicious firmware file is in place, parsing runs automatically at driver probe or GPU-reset section reload with no separate victim action; an attacker does not need another user to open a device node or mount a filesystem to trigger the bug.
S:UScope, unchanged
Impact is kernel heap corruption and potential local privilege escalation within the same kernel security domain; it does not cross a VM, IOMMU, or sandbox boundary such as guest-to-host escape.
C:HConfidentiality impact, high
The unchecked memcpy copies attacker-controlled firmware bytes past the allocated shmem BO mapping, and the memset length underflow can zero far beyond the buffer, giving out-of-bounds read/write primitives over adjacent kernel heap objects rather than a bounded leak.
I:HIntegrity impact, high
Heap buffer overflow plus attacker-controlled firmware content enables arbitrary kernel memory corruption; the ZERO-flag memset underflow can perform a massive out-of-bounds zero write exploitable for control-flow hijacking and local privilege escalation.
A:HAvailability impact, high
Oversized memcpy and underflowed memset corrupt kernel heap memory and can immediately kernel oops or panic; the same corruption is re-triggered on GPU reset via panthor_reload_fw_sections(), enabling repeatable denial of service.