Skip to main content

Linux Kernel CVE-2026-72446

| EUVDEUVD-2026-59345 HIGH
2026-08-15 Linux GHSA-xg4f-mwxf-g67f
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local AF_QIPCRTR access requires low-privilege user; no interaction needed; kernel heap corruption yields high CIA impact without scope change.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 09:29 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
7.8 (HIGH)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 05:56 cve.org
HIGH 7.8
CVE Published
Aug 15, 2026 - 05:56 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

ALSA: usb-audio: qcom: reject stream disable with no active interface

handle_uaudio_stream_req() resolves an interface index with info_idx_from_ifnum(), which returns -EINVAL when no interface matches. The enable branch and the response: cleanup label both guard against a negative index, but the disable branch does not: it forms info = &uadev[pcm_card_num].info[info_idx] and dereferences it.

uadev[].info is a pointer allocated only when a stream is first enabled, so a negative info_idx on the disable path is unsafe in two ways:

  • If the card was never enabled, .info is NULL and &info[-EINVAL] is a

wild pointer; reading info->data_ep_pipe faults (kernel oops).

  • If the card was enabled at least once (.info allocated) and the

disable names an interface that does not match, &info[-EINVAL] points before the allocation; info->data_ep_pipe / info->sync_ep_pipe are an out-of-bounds slab read and, when non-zero, an out-of-bounds 4-byte write (both pipe fields are cleared to 0). That is memory corruption, not just a NULL dereference.

The request is reachable from unprivileged local userspace over AF_QIPCRTR. Reject a disable request with no resolved interface, matching the guard the enable path already has.

AnalysisAI

Out-of-bounds kernel memory corruption in the QCOM USB audio ALSA driver (sound/usb/qcom/) allows a local unprivileged user to corrupt kernel slab memory or trigger a kernel oops by sending a crafted stream-disable request over AF_QIPCRTR. The disable path in handle_uaudio_stream_req() fails to guard against a negative index returned by info_idx_from_ifnum(), an invariant violation that the enable path already handles - resulting in a wild-pointer dereference when the card has never been enabled, or an out-of-bounds 4-byte slab write when it has. No public exploit code has been identified and the vulnerability is not listed in CISA KEV, but the low-complexity local exploit path on QCOM-equipped systems warrants prompt patching.

Technical ContextAI

The vulnerability resides in the Qualcomm-platform-specific USB audio driver within the Linux kernel's ALSA (Advanced Linux Sound Architecture) subsystem, at sound/usb/qcom/. The function handle_uaudio_stream_req() processes stream enable and disable requests delivered over AF_QIPCRTR - Qualcomm's IPC Router socket family used for inter-processor communication on Snapdragon SoCs. Interface resolution is performed by info_idx_from_ifnum(), which returns -EINVAL (−22) when no matching USB audio interface is found. The enable branch and the response: cleanup label both validate that this return value is non-negative before indexing into uadev[pcm_card_num].info[]; the disable branch does not. Using a negative value as an array index in C pointer arithmetic produces a pointer arbitrarily before the allocation base. When uadev[].info is NULL (card never enabled), this yields a wild pointer and a kernel oops on the first dereference. When uadev[].info is valid (card previously enabled), it produces a controllably-offset out-of-bounds slab read of data_ep_pipe and sync_ep_pipe, and a 4-byte zero-write to each of those fields - constituting kernel heap corruption. No CWE is formally assigned in the input data, but this maps to CWE-787 (Out-of-Bounds Write) and CWE-125 (Out-of-Bounds Read). Affected product CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

The primary remediation is to upgrade to a patched kernel release: Linux 6.18.40 or later on the 6.18 stable branch, Linux 7.1.5 or later on the 7.1 stable branch, or Linux 7.2-rc1 or later on mainline. The upstream fix adds the same negative-index guard to the disable path that already exists on the enable path in handle_uaudio_stream_req(). Patch commits are available at https://git.kernel.org/stable/c/25a867aa5e67a84333fa6e5c21292c5bcff86b90, https://git.kernel.org/stable/c/bdb640be82e645e2828731648f485224d0c2587b, and https://git.kernel.org/stable/c/a22356d1f731553e99aa2707dbd38c659bdd28d8. Where kernel patching is not immediately feasible, restricting unprivileged access to AF_QIPCRTR socket creation via a targeted seccomp policy or an LSM rule (SELinux type enforcement denying socket(AF_QIPCRTR) to untrusted domains) would eliminate the reachability of the vulnerable code, at the cost of breaking QCOM IPC-dependent functionality on that system. Alternatively, unloading the snd_usb_qcom module (modprobe -r snd_usb_qcom) disables the vulnerable code path entirely but also disables QCOM USB audio functionality. NVD advisory: https://nvd.nist.gov/vuln/detail/CVE-2026-72446.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

CVE-2026-72446 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy