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

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

CVE-2026-89943

ASoC: loongson: Fix error handling in ACPI property parsing

8.4 EPSS 0.2% AV:L

Published 2026-09-16 (33 days ago) by the Linux kernel CNA. Subsystem sound/soc. Debian urgency: unimportant.

What to do, per Debian release

Debian's own status for CVE-2026-89943 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-6528-1 · 2026-09-29 · text6.12.111-1Update the kernel and reboot. DSA-6528-1 shipped the fix on 2026-09-29, in 6.12.111-1. A running kernel keeps the old code until the machine restarts.
Debian 14forkyfixed7.2.6-1Update the kernel and reboot. Fixed in 7.2.6-1. A running kernel keeps the old code until the machine restarts.
Debian unstablesidfixed7.2.6-1Update the kernel and reboot. Fixed in 7.2.6-1. A running kernel keeps the old code until the machine restarts.
Debian 12bookworm · linux-6.12fixedDLA-4817-1 · 2026-10-04 · text6.12.111-1~deb12u1Update the kernel and reboot. DLA-4817-1 shipped the fix on 2026-10-04, in 6.12.111-1~deb12u1. A running kernel keeps the old code until the machine restarts.

The vulnerability

What the bug is

In loongson_card_parse_acpi(), the return value of device_property_read_string() for the `codec-dai-name` property was ignored. If the property is missing or invalid, an uninitialized pointer would be used later, potentially leading to undefined behavior. Fix this by checking the return value and propagating the error appropriately.

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.

sound/soc/loongson/loongson_card.c

What this is
LOONGSON AUDIO (ASoC) DRIVERSMAINTAINERS section matched on sound/soc/loongson/loongson_*.c · linux-sound@vger.kernel.org · Maintained

Check it on the machine

grep -wE 'CONFIG_SND|CONFIG_SND_SOC|CONFIG_SND_SOC_LOONGSON_CARD' /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 4 releases. The build rule could not be established for 1 release, so nothing is claimed about those.

  • bookworm?
  • trixie, forky, sid, bookworm · linux-6.12n
?
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_SND, CONFIG_SND_SOC, CONFIG_SND_SOC_LOONGSON_CARD
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-16 (33 days ago)source
CVSS
8.4 high
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hsource recompute it
Attack vector
local (AV:L)source
EPSS
0.20%, higher than 8.6% of all CVEssource
CISA KEV
not listedthe KEV catalogue
Debian urgency
unimportantsource
Subsystem
sound/soc

Upstream fixes

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

IntroducedFixed inCommit
6.126.12.110682c123cef45
6.126.18.514e580d84a638
6.127.2.5bb1602908c67
6.127.30eb0e3c623ac

Debian advisories

AdvisoryDateShipped toDebian
DLA-4817-12026-10-04bookworm 6.12.111-1~deb12u1tracker
DSA-6528-12026-09-29trixie 6.12.111-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 bug is in loongson_card_parse_acpi(), reached only from the Loongson ASoC platform probe (loongson_asoc_card_probe) when an ACPI-companion sound-card device is enumerated. There is no network, Bluetooth, or USB packet path into this ACPI property parser.
AC:LAttack complexity, low
If the codec-dai-name ACPI property is missing or not a string, device_property_read_string() fails without writing codec_dai_name; the ignored return then deterministically stores that uninitialized pointer into the static DAI link. No race or attacker-uncontrollable layout is required.
PR:NPrivileges required, none
loongson_asoc_card_probe() runs automatically from ACPI/platform enumeration (PRP0001 compatible loongson,ls-audio-card) on Loongson laptops, embedded boards, and LoongArch VMs; no OS account, capability, or user-namespace privilege is checked on this probe path.
UI:NUser interaction, none
Probe and deferred-probe retries run unattended at boot when the matching ACPI audio-card device is present; no victim must open ALSA nodes, load a module by hand, or plug in extra hardware.
S:UScope, unchanged
The uninitialized DAI-name pointer is consumed inside the host ASoC core (DAI matching and logging) on the same kernel security authority; this is not a VM escape, IOMMU bypass, or sandbox breakout.
C:HConfidentiality impact, high
The garbage pointer is stored as codecs->dai_name and later passed to strcmp() in snd_soc_is_matching_dai() and to %s in the CODEC DAI not-registered log, producing an unbounded kernel-memory read rather than a small bounded leak.
I:HIntegrity impact, high
The same uninitialized stack pointer is written into static loongson_dai_links[] used for DAI matching; a wild-pointer match binds the wrong codec DAI (type confusion) and later ASoC bring-up operates through that component, an exploitable integrity primitive consistent with uninitialized-pointer scoring.
A:HAvailability impact, high
strcmp() or printk %s on the uninitialized pointer oopses or panics the kernel during sound-card probe on affected Loongson ACPI systems, fully denying availability.