CVE-2024-26690·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: net: stmmac: protect updates of 64-bit statistics counters As explained by a comment in <linux/u64_stats_sync.h>, write side of struct u64_stats_sync must ensure mutual exclusion, or one seqcount update could be lost on 32-bit platforms, thus blocking readers forever. Such lockups have been observed in real world after stmmac_xmit() on one CPU raced with stmmac_napi_poll_tx() on another CPU. To fix the issue without introducing a new lock, split the statics into three parts: 1. fields updated only under the tx queue lock, 2. fields updated only during NAPI poll, 3. fields updated only from interrupt context, Updates to fields in the first two groups are already serialized through other locks. It is sufficient to split the existing struct u64_stats_sync so that each group has its own. Note that tx_set_ic_bit is updated from both contexts. Split this counter so that each context gets its own, and calculate their sum to get the total value in stmmac_get_ethtool_stats(). For the third group, multiple interrupts may be processed by different CPUs at the same time, but interrupts on the same CPU will not nest. Move fields from this group to a newly created per-cpu struct stmmac_pcpu_stats.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.7.6
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at 0.10% — higher than 28% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 6.7
Until: 6.7.6
Fixed in: 6.7.6
How to fix this CVE
Update your Linux kernel to version 6.7.6 or later to resolve a race condition in the stmmac network driver's statistics counter handling. This vulnerability can cause system lockups on 32-bit platforms when packet transmission and NAPI polling occur simultaneously. Kernel versions 6.7 through 6.7.5 should be upgraded immediately to prevent potential denial-of-service conditions.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version: uname -r — verify if version is between 6.7.0 and 6.7.5
- Confirm stmmac driver is in use: grep -i stmmac /var/log/dmesg — look for 'stmmac' entries indicating this network driver is loaded
- Monitor for lockups on multi-CPU systems: dmesg | grep -i 'lockup\|hung' — check system logs for hung task warnings that may indicate the race condition
- Verify patch application after update: uname -r — confirm kernel version is 6.7.6 or higher
FAQ
What is CVE-2024-26690?
This vulnerability is a race condition in the Linux kernel's stmmac Ethernet driver where concurrent access to 64-bit statistics counters from different CPU cores can cause seqcount updates to be lost, leading to permanent reader lockups on 32-bit architectures.
Is CVE-2024-26690 being actively exploited?
No, this vulnerability is not listed on CISA's Known Exploited Vulnerabilities catalog and no public exploits are available. However, it can be triggered unintentionally through normal network operations on affected systems.
What versions of Kernel are affected by CVE-2024-26690?
Linux kernel versions 6.7.0 through 6.7.5 are vulnerable. The fix was included in kernel 6.7.6 and later.
How do I check if my server is vulnerable to CVE-2024-26690?
Run 'uname -r' to get your kernel version. If it shows 6.7.0 through 6.7.5, you are vulnerable. Also verify stmmac is your network driver with 'ethtool -i eth0' or 'grep stmmac /var/log/dmesg'.
Does Defensia detect CVE-2024-26690?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2024-26690 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/38cc3c6dcc09dc3a1800b5ec22aef643ca11eab8
- https://git.kernel.org/stable/c/9680b2ab54ba8d72581100e8c45471306101836e
- https://git.kernel.org/stable/c/e6af0f082a4b87b99ad033003be2a904a1791b3f
- https://git.kernel.org/stable/c/38cc3c6dcc09dc3a1800b5ec22aef643ca11eab8
- https://git.kernel.org/stable/c/9680b2ab54ba8d72581100e8c45471306101836e
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-26690. Free for 1 server.
Get started free