CVE-2024-43825: iio: Fix the sorting functionality in iio_gts_build_avail_time_table
In the Linux kernel, the following vulnerability has been resolved:
iio: Fix the sorting functionality in iio_gts_build_avail_time_table
The sorting in iio_gts_build_avail_time_table is not working as intended.
It could result in an out-of-bounds access when the time is zero.
Here are more details:
1. When the gts->itime_table[i].time_us is zero, e.g., the time
sequence is `3, 0, 1`, the inner for-loop will not terminate and do
out-of-bound writes. This is because once `times[j] > new`, the value
`new` will be added in the current position and the `times[j]` will be
moved to `j+1` position, which makes the if-condition always hold.
Meanwhile, idx will be added one, making the loop keep running without
termination and out-of-bound write.
2. If none of the gts->itime_table[i].time_us is zero, the elements
will just be copied without being sorted as described in the comment
"Sort times from all tables to one and remove duplicates".
For more details, please refer to
https://lore.kernel.org/all/6dd0d822-046c-4dd2-9532-79d7ab96ec05@gmail.com.
Security readout for executives and security teams
Plain-English summary
A Linux kernel flaw in industrial I/O timing-table handling can write beyond allocated memory when a timing value is zero. Kernel memory corruption could crash a system or potentially compromise confidentiality and integrity. The supplied CVSS score is 7.8, but exploitation requires local, low-privileged access.
Executive priority
Treat this as a high-priority kernel maintenance issue on Linux systems using industrial-I/O or sensor functionality, especially multi-user and locally accessible hosts. It is not supported as an emergency internet-scale threat because the supplied evidence requires local access and shows no active exploitation.
Technical view
The insertion logic in iio_gts_build_avail_time_table fails to advance correctly when time_us equals zero. Repeated element movement allows the loop index to grow beyond the destination array, causing out-of-bounds writes. Without zero values, the routine may copy entries without performing its intended sorting and deduplication.
Likely exposure
Exposure is limited to Linux systems containing and reaching the vulnerable IIO GTS code. Systems using relevant sensor or industrial-I/O drivers deserve priority. The supplied normalized version data is ambiguous, so exact affected and fixed releases must be confirmed through the system vendor and referenced stable commits.
Exploitation context
The CVSS vector describes local, low-complexity exploitation requiring low privileges and no user interaction. CISA KEV status is false, and the supplied evidence does not establish active exploitation or a public exploit. Practical reachability likely depends on kernel configuration, loaded drivers, and whether a zero timing value can reach the function.
Researcher notes
The critical condition is a zero time_us entry, which can make the insertion loop continue while incrementing its index and writing beyond bounds. Nonzero inputs also expose a correctness defect because sorting may not occur. The sources do not establish attacker-controlled reachability, reliable exploitation, or affected distribution-specific builds.
Mitigation direction
Install a vendor-supported kernel containing the applicable referenced stable fix.
Confirm the fix commit for each deployed kernel branch before treating systems as remediated.
Prioritize systems using relevant IIO or sensor functionality and allowing untrusted local access.
If updating is delayed, follow distributor guidance and restrict untrusted local access; no specific workaround is supplied.
Validation and detection
Inventory running kernel packages and versions across affected Linux systems.
Check vendor advisories or changelogs for CVE-2024-43825 and the branch-specific fix commit.
Determine whether the vulnerable IIO GTS code and relevant drivers are built, loaded, or used.
After updating, verify the fixed kernel is running and survives reboot or replacement cycles.
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.
cve · low confidence lookup
CVE-2024-43825 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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.