vulnerability
Ubuntu: (Multiple Advisories) (CVE-2025-21767): Linux kernel vulnerabilities
Severity | CVSS | Published | Added | Modified |
---|---|---|---|---|
5 | (AV:L/AC:L/Au:S/C:N/I:N/A:C) | Feb 27, 2025 | May 20, 2025 | Jun 3, 2025 |
Description
In the Linux kernel, the following vulnerability has been resolved:
clocksource: Use migrate_disable() to avoid calling get_random_u32() in atomic context
The following bug report happened with a PREEMPT_RT kernel:
BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 2012, name: kwatchdog
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
get_random_u32+0x4f/0x110
clocksource_verify_choose_cpus+0xab/0x1a0
clocksource_verify_percpu.part.0+0x6b/0x330
clocksource_watchdog_kthread+0x193/0x1a0
It is due to the fact that clocksource_verify_choose_cpus() is invoked with
preemption disabled. This function invokes get_random_u32() to obtain
random numbers for choosing CPUs. The batched_entropy_32 local lock and/or
the base_crng.lock spinlock in driver/char/random.c will be acquired during
the call. In PREEMPT_RT kernel, they are both sleeping locks and so cannot
be acquired in atomic context.
Fix this problem by using migrate_disable() to allow smp_processor_id() to
be reliably used without introducing atomic context. preempt_disable() is
then called after clocksource_verify_choose_cpus() but before the
clocksource measurement is being run to avoid introducing unexpected
latency.
Solution(s)
References
- CVE-2025-21767
- https://attackerkb.com/topics/CVE-2025-21767
- UBUNTU-USN-7510-1
- UBUNTU-USN-7510-2
- UBUNTU-USN-7510-3
- UBUNTU-USN-7510-4
- UBUNTU-USN-7510-5
- UBUNTU-USN-7510-6
- UBUNTU-USN-7510-7
- UBUNTU-USN-7510-8
- UBUNTU-USN-7511-1
- UBUNTU-USN-7511-2
- UBUNTU-USN-7511-3
- UBUNTU-USN-7512-1
- UBUNTU-USN-7521-1
- UBUNTU-USN-7521-2
- UBUNTU-USN-7521-3

Explore Exposure Command
Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.