CVE-2021-47172: iio: adc: ad7124: Fix potential overflow due to non sequential channel numbers
In the Linux kernel, the following vulnerability has been resolved:
iio: adc: ad7124: Fix potential overflow due to non sequential channel numbers
Channel numbering must start at 0 and then not have any holes, or
it is possible to overflow the available storage. Note this bug was
introduced as part of a fix to ensure we didn't rely on the ordering
of child nodes. So we need to support arbitrary ordering but they all
need to be there somewhere.
Note I hit this when using qemu to test the rest of this series.
Arguably this isn't the best fix, but it is probably the most minimal
option for backporting etc.
Alexandru's sign-off is here because he carried this patch in a larger
set that Jonathan then applied.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel driver flaw in the AD7124 analog-to-digital converter path. A local user with limited privileges could trigger a storage overflow condition when channel numbering is non-sequential, potentially causing system unavailability. Exposure is likely limited to systems using this specific hardware driver.
Executive priority
Treat this as a targeted availability risk for Linux systems tied to AD7124 hardware, not a broad internet-facing emergency. Prioritize patching where affected devices support production operations or safety-relevant monitoring.
Technical view
The Linux kernel AD7124 IIO ADC driver could overflow available storage when channel numbers do not start at 0 and contain no gaps. The CVSS vector is local, low complexity, low privilege, no user interaction, with high availability impact and no stated confidentiality or integrity impact.
Likely exposure
Most general-purpose servers are unlikely to be exposed unless they load or ship the AD7124 ADC driver. Embedded, industrial, lab, or hardware-control Linux systems using AD7124 devices are the most plausible exposure group.
Exploitation context
The source bundle does not report active exploitation, and KEV is false. The documented attack path is local with low privileges and appears focused on denial of service through the affected driver condition.
Researcher notes
The public description identifies the root condition but gives limited operational detail. Avoid assuming remote reachability or broad exploitability. Focus analysis on kernel version, driver inclusion, device configuration, and whether vendor kernels have backported the stable fixes.
Mitigation direction
Apply a vendor kernel update containing the referenced stable fixes.
Check Linux distribution advisories for backported AD7124 driver fixes.
Disable or avoid loading the AD7124 driver where it is unused.
Until patched, avoid non-sequential AD7124 channel numbering where operationally feasible.
Validation and detection
Inventory systems for affected Linux kernel versions and AD7124 driver usage.
Confirm whether the running kernel includes one of the referenced stable commits.
Review AD7124 channel definitions for numbering gaps before patching.
Run vendor-approved regression tests on hardware-control or embedded workloads.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-120: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-120 · source CWE mapping
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.