CVE-2025-21919 sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
A memory corruption flaw in the Linux kernel scheduler allows attackers to cause crashes or potentially execute code via invalid pointer conversion.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-21919?
CVE-2025-21919 is a high-severity memory corruption vulnerability in Linux kernel, published on 1 Apr 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
child_cfs_rq_on_list attempts to convert a 'prev' pointer to a cfs_rq. This 'prev' pointer can originate from struct rq's leaf_cfs_rq_list, making the conversion invalid and potentially leading to memory corruption. Depending on the relative positions of leaf_cfs_rq_list and the task group (tg) pointer within the struct, this can cause a memory fault or access garbage data.
The issue arises in list_add_leaf_cfs_rq, where both cfs_rq->leaf_cfs_rq_list and rq->leaf_cfs_rq_list are added to the same leaf list. Also, rq->tmp_alone_branch can be set to rq->leaf_cfs_rq_list.
This adds a check `if (prev == &rq->leaf_cfs_rq_list)` after the main conditional in child_cfs_rq_on_list. This ensures that the container_of operation will convert a correct cfs_rq struct.
This check is sufficient because only cfs_rqs on the same CPU are added to the list, so verifying the 'prev' pointer against the current rq's list head is enough.
Fixes a potential memory corruption issue that due to current struct layout might not be manifesting as a crash but could lead to unpredictable behavior when the layout changes.
Weakness: CWE-787
Which versions are affected by CVE-2025-21919?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-21919?
Apply the vendor's patch.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2025-21919 being exploited?
There is no known exploitation of CVE-2025-21919 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-59919, AZL-59966, BELL-CVE-2025-21919, DEBIAN-CVE-2025-21919, GHSA-c924-p67m-48hp, ROOT-OS-UBUNTU-2404-CVE-2025-21919 and 1 more.