CVE-2026-46257 in Linuxinfo

Summary

by MITRE • 06/03/2026

In the Linux kernel, the following vulnerability has been resolved:

clocksource/drivers/timer-sp804: Fix an Oops when read_current_timer is called on ARM32 platforms where the SP804 is not registered as the sched_clock.

On SP804, the delay timer shares the same clkevt instance with sched_clock. On some platforms, when sp804_clocksource_and_sched_clock_init is called with use_sched_clock not set to 1, sched_clkevt is not properly initialized. However, sp804_register_delay_timer is invoked unconditionally, and read_current_timer() subsequently calls sp804_read on an uninitialized sched_clkevt, leading to a kernel Oops when accessing sched_clkevt->value.

Declare a dedicated clkevt instance exclusively for delay timer, instead of sharing the same clkevt with sched_clock. This ensures that read_current_timer continues to work correctly regardless of whether SP804 is selected as the sched_clock.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 06/04/2026

This vulnerability exists within the linux kernel's clocksource driver for the sp804 timer on arm32 platforms and represents a critical null pointer dereference issue that can lead to kernel oops and system instability. The flaw occurs when the read_current_timer function is invoked on systems where the sp804 timer is not registered as the sched_clock component, creating a scenario where the scheduler clock event instance remains uninitialized while still being accessed during timer operations. The underlying technical implementation involves improper resource management where the delay timer and scheduler clock share the same clock event instance structure, leading to inconsistent state management across different platform configurations. This issue directly relates to weakness category CWE-476 which addresses null pointer dereferences, and demonstrates poor defensive programming practices in kernel space where assumptions about hardware initialization states are not properly validated.

The operational impact of this vulnerability extends beyond simple system crashes to potentially compromise system reliability and availability in production environments. When the kernel encounters this condition during normal operation, particularly during timing-sensitive operations or system initialization sequences, it results in immediate kernel oops and system panic conditions that force system restarts. This vulnerability affects ARM32 platforms specifically where the sp804 timer driver is present but configured differently than expected, making it particularly problematic in embedded systems, mobile devices, and server environments where such timer configurations are common. The issue can be exploited by malicious actors to cause denial of service conditions or potentially escalate privileges through carefully crafted timing attacks that leverage the kernel's timing subsystem.

The mitigation strategy involves implementing a dedicated clock event instance specifically for the delay timer functionality while maintaining separate management of the scheduler clock event instance. This architectural change ensures that read_current_timer operations can function correctly regardless of whether the sp804 timer is configured as the scheduler clock source, eliminating the race condition between timer initialization states. The fix aligns with ATT&CK technique T1059.006 for kernel-level code manipulation and represents a fundamental improvement in kernel timer subsystem design patterns. This solution follows established best practices for kernel development where resource sharing is carefully managed and proper initialization sequences are enforced to prevent access to uninitialized structures. The implementation change addresses the root cause by ensuring proper separation of concerns between timing components and prevents the scenario where a null pointer dereference occurs during critical kernel operations.

This vulnerability demonstrates the complexity of kernel timer subsystems and the importance of proper initialization sequencing in embedded systems. The fix represents a defensive programming approach that prevents undefined behavior when hardware configurations vary across different platform implementations. The solution also reflects the broader challenge in kernel security where subtle initialization issues can lead to critical system failures. This type of vulnerability is particularly relevant in environments where multiple timer sources are available and configurable, as it highlights the need for robust error handling in kernel drivers that must operate reliably across diverse hardware platforms while maintaining predictable behavior under all configuration scenarios.

Responsible

Linux

Reservation

05/13/2026

Disclosure

06/03/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!