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

iio: adc: ad_sigma_delta: fix use-after-free on unbind

ad_sd_buffer_postenable() allocates sigma_delta->samples_buf with
devm_krealloc() at runtime, so its devres entry sits after all
probe-time entries of the driver. devm resources are released in
reverse allocation order, which means unbind frees samples_buf before
iio_device_unregister() disables the buffers and detaches the trigger
pollfunc. The data ready IRQ is still enabled at that point, so
ad_sd_trigger_handler() can still run and memcpy() incoming samples
into the freed samples_buf.

Fix this by preallocating the buffer in
devm_ad_sd_setup_buffer_and_trigger(), before the triggered buffer and
the IRQ are set up, so it is freed only after iio_device_unregister()
has drained the trigger handler via free_irq(). Size it for the worst
case of all sequencer slots being active; ad_sd_validate_scan_mask()
already caps the number of active channels at num_slots.

This issue was found by an in-house static analysis tool.
Published: 2026-10-18
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Use‑After‑Free leading to kernel memory corruption and possible privilege escalation
Action: Immediate Patch
AI Analysis

Impact

The flaw occurs when an ad_sigma_delta device is unbound while its interrupt service routine is still enabled. A freed buffer is later written to by the trigger handler, which can corrupt kernel memory. If the corrupted data is exploited, an attacker could trigger a kernel fault or execute arbitrary code with kernel privileges.

Affected Systems

The affected component is the generic Linux kernel. No specific kernel version numbers are listed in the data; the issue applies to any release that includes the unpatched ad_sigma_delta driver code.

Risk and Exploitability

EPSS data indicates an exploitation probability of less than 1%, and the CVSS score of 4.1 denotes low‑to‑moderate severity. The vulnerability is not listed in CISA's KEV catalog. Attackers would need to trigger an unbinding of the ad_sigma_delta device while its interrupt service routine remains active, requiring local control over the hardware or privileged removal, to force a use‑after‑free. The freed buffer could be written to by the trigger handler, corrupting kernel memory, which could lead to a kernel crash, denial of service, or, if crafted data is supplied, a privilege escalation to kernel mode.

Generated by OpenCVE AI on October 23, 2026 at 05:14 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update the kernel to a release that includes the ad_sd_setup_buffer_and_trigger() fix (commit 5663c72bf400231e90777982216797191887a6b9).
  • If a kernel upgrade cannot be applied immediately, avoid unloading or unbinding the ad_sigma_delta device until all pending interrupts are cleared; alternatively, isolate the device or disable its IRQ temporarily before unbinding.
  • Continuously monitor system logs for kernel Oops or corruption events and keep the kernel updated with the latest security patches.

Generated by OpenCVE AI on October 23, 2026 at 05:14 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Fri, 30 Oct 2026 12:45:00 +0000


Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 21 Oct 2026 13:15:00 +0000


Sun, 18 Oct 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 18 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: iio: adc: ad_sigma_delta: fix use-after-free on unbind ad_sd_buffer_postenable() allocates sigma_delta->samples_buf with devm_krealloc() at runtime, so its devres entry sits after all probe-time entries of the driver. devm resources are released in reverse allocation order, which means unbind frees samples_buf before iio_device_unregister() disables the buffers and detaches the trigger pollfunc. The data ready IRQ is still enabled at that point, so ad_sd_trigger_handler() can still run and memcpy() incoming samples into the freed samples_buf. Fix this by preallocating the buffer in devm_ad_sd_setup_buffer_and_trigger(), before the triggered buffer and the IRQ are set up, so it is freed only after iio_device_unregister() has drained the trigger handler via free_irq(). Size it for the worst case of all sequencer slots being active; ad_sd_validate_scan_mask() already caps the number of active channels at num_slots. This issue was found by an in-house static analysis tool.
Title iio: adc: ad_sigma_delta: fix use-after-free on unbind
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-30T12:38:40.900Z

Reserved: 2026-09-25T10:25:14.363Z

Link: CVE-2026-98677

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:21.057

Modified: 2026-10-30T13:21:17.740

Link: CVE-2026-98677

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98677 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T05:15:14Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference