KernelScan.io

HIGH Introduced in 5.2

sof VolumeRange Overflow

CVE-2026-90196

CVSS 7.8 / 10.0 KernelScan AI

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

01

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: validate topology volume range before allocation SOF treats the topology mixer min and max values as non-negative indices into its volume table. It stores them in signed fields, allocates max + 1 entries through an int argument, and later indexes the table with the stored range. An inverted range is invalid, while a maximum at or above INT_MAX cannot be represented safely after the increment or in the signed fields. Validate the complete range before storing it or allocating the table.

02

Engine v0.6.0

Risk summary

A crafted audio topology file can cause an integer overflow in the SOF volume table allocation, leading to an undersized buffer that is later indexed out of bounds. This results in kernel heap memory corruption exploitable for privilege escalation or denial of service. Any local user who can supply or influence topology data loaded by the SOF audio driver is at risk.

Affectedsound/soc/sof/topology.c (ASoC SOF topology)

Vulnerability analysis

The SOF audio topology loader accepts mixer min and max values from a topology blob without validating them. When the max value is at or near INT_MAX, the expression max + 1 overflows, causing a far-too-small allocation for the volume table. The loader then stores the original large max value and uses it to index into the undersized table, producing an out-of-bounds write on kernel heap memory. An inverted range (min greater than max) is likewise accepted despite being nonsensical. The fix validates the complete range before any storage or allocation occurs, rejecting topology blobs where min exceeds max or where max is at or above INT_MAX. The vulnerable path is reachable locally by anyone who can supply a crafted topology to the SOF driver, which on some systems is accessible without root privileges through the audio device interface.

03

BranchIntroducedFixed inPatch commit
6.15.26.1.188992e130b8886
6.125.26.12.1108e1d63f5e272
6.185.26.18.52d2f41287b51a
6.65.26.6.157cd63a1eb677e
7.25.27.2.672d0b77412ae
mainline5.27.3a698e4a60fa5
cip/6.15.26.1.189-cip61992e130b8886
cip/6.1-rt5.26.1.189-cip61-rt32992e130b8886
cip/6.125.26.12.111-cip328e1d63f5e272

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.111-cip32
cip/6.1Fixed in 6.1.189-cip61
cip/6.1-rtFixed in 6.1.189-cip61-rt32
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)