CVE-2026-72302 is being characterized as an integer overflow in SOF IPC3 control handling, but the real security boundary it exposes isn't between kernel and userspace — it's between firmware and the kernel. The vulnerability occurs when num_elems, a value sourced from firmware via the IPC3 channel, is used in arithmetic that calculates expected buffer sizes without overflow protection. On 32-bit platforms, multiplying num_elems by struct member sizes can wrap to a small positive value, making the calculated expected_size appear smaller than the firmware-reported cdata->rhdr.hdr.size. This allows the size check to pass when it should fail, permitting out-of-bounds access in the subsequent snd_sof_update_control() call.
The fix — adding check_mul_overflow() and check_add_overflow() — is correct for this line, but it patches a symptom rather than the architectural disease. The deeper problem is that the kernel implicitly trusts num_elems as if upstream parsing had validated it, when in fact no documented trust boundary exists between firmware and kernel in the IPC3 interface. This is the same cognitive failure pattern seen in USB descriptor parsing, PCIe config space handling, and GPU command buffer processing — developers assume validation upstream that doesn't exist or isn't enforceable at their call site.
What you should examine: First, determine whether num_elems receives any validation at the IPC message parsing layer before reaching this function. If it does, audit whether that validation depends on the overflow-protected arithmetic that this fix provides — a circular dependency would make the validation ineffective. Second, survey other IPC3 control handling paths for identical patterns: arithmetic on firmware-provided counts or sizes performed without overflow checks. The SOF codebase has years of similar logic across its IPC3 paths, and this fix addresses one instance of a structural assumption, not the assumption itself. Third, assess the blast radius: if snd_sof_update_control() populates shared mixer state, DMA buffers, or cross-channel processing structures, then one corrupted num_elems becomes a containment failure for the entire audio subsystem.
The low EPSS score reflects the constraint that exploiting this requires compromised firmware — but that risk model deserves scrutiny. SOF firmware blobs are often binary-only, distributed through separate OEM channels, and updated independently of the kernel. The USB ecosystem demonstrated between 2015-2018 that firmware supply chain compromise is a real attack vector even when the local device seems trusted. The kernel-side overflow check is valuable defense-in-depth, but it doesn't sever the connection between firmware compromise and kernel memory corruption; it just adds a speed bump. The separate question of whether firmware blobs are being regenerated with proper message construction is a remediation timeline the CVE metrics don't capture, and in many deployed SOF devices, that timeline may never close.