Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2021-20317

CVE-2021-20317: Linux Kernel Timer Queue DoS Vulnerability

CVE-2021-20317 is a denial of service flaw in Linux Kernel's timer queue that allows local attackers to slow or stop the system. This article covers the technical details, affected versions, impact, and mitigation.

Updated:

CVE-2021-20317 Overview

CVE-2021-20317 is a flaw in the Linux kernel timerqueue_add function located in lib/timerqueue.c. A corrupted timer tree causes a task wakeup to be missed, which leads to a denial of service condition. A local attacker with elevated user privileges can exploit this issue to slow down and eventually halt the affected system while running OSP workloads. The vulnerability is categorized under [CWE-665] Improper Initialization and affects the Linux kernel as shipped in Debian 9 and 10.

Critical Impact

A local authenticated attacker can trigger a kernel-level denial of service that progressively degrades system performance until the host becomes unresponsive.

Affected Products

  • Linux Kernel (including version 5.4)
  • Debian Linux 9.0
  • Debian Linux 10.0

Discovery Timeline

  • 2021-09-27 - CVE-2021-20317 published to NVD
  • 2021-12 - Debian LTS security announcement released
  • 2022-03 - Additional Debian LTS security announcement released
  • 2022 - Debian Security Advisory DSA-5096 released
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2021-20317

Vulnerability Analysis

The flaw resides in the Linux kernel timer subsystem, specifically within the timerqueue_add function in lib/timerqueue.c. The kernel uses a red-black tree (timer tree) to manage pending timers and trigger task wakeups at the appropriate scheduling moment. When this tree becomes corrupted, expected task wakeups are not delivered.

Missed wakeups accumulate over time, leaving tasks blocked indefinitely on timer events. Under sustained workloads such as Open Stack Platform (OSP) operations, this missed-wakeup condition causes process queues to grow and system responsiveness to degrade. Eventually the host stops processing scheduled work entirely, producing a denial of service.

The issue is classified as [CWE-665] Improper Initialization. The upstream fix is tracked in the Linux kernel commit 511885d7061eda3eb1faf3f57dcc936ff75863f1.

Root Cause

The root cause is improper initialization of timer queue nodes before insertion into the timer tree. When timerqueue_add operates on a node whose state is inconsistent, the underlying red-black tree structure becomes corrupted. Subsequent operations on the tree fail to schedule the affected timer, dropping the corresponding wakeup signal.

Attack Vector

Exploitation requires local access and high privileges on the target host. The attacker triggers kernel paths that perform timer queue operations under specific conditions to corrupt the timer tree. No user interaction is required, and the attack does not directly expose data, but it can render the system unusable until reboot. See the Red Hat Bug Report and the Linux Kernel Commit for the technical fix details.

Detection Methods for CVE-2021-20317

Indicators of Compromise

  • Tasks stuck in uninterruptible sleep state (D state) waiting on timer-based wakeups that never arrive.
  • Progressive system slowdown and unresponsive scheduler under OSP or other timer-heavy workloads.
  • Kernel soft lockup warnings or hung task messages in dmesg referencing timer or scheduler subsystems.

Detection Strategies

  • Inventory hosts running vulnerable Linux kernel versions and Debian 9/10 builds, then compare against the patched kernel package versions in the vendor advisories.
  • Monitor /proc/timer_list and scheduler latency metrics for anomalies indicating missed wakeups.
  • Correlate process state telemetry from endpoints with kernel ring buffer events to identify hosts exhibiting hung-task patterns.

Monitoring Recommendations

  • Track kernel version drift across the Linux fleet and alert on hosts that remain on pre-patch kernels.
  • Enable host-level performance monitoring to detect sustained increases in load average without corresponding CPU activity.
  • Forward kernel logs to a centralized log analytics platform and create alerts for hung_task, soft lockup, and BUG: entries originating from timer or scheduler modules.

How to Mitigate CVE-2021-20317

Immediate Actions Required

  • Apply the patched Linux kernel package provided by your distribution, prioritizing systems running OSP or other timer-intensive workloads.
  • Restrict local high-privilege access to trusted administrators only, since exploitation requires elevated local privileges.
  • Reboot affected hosts after patching to ensure the corrected kernel image is loaded.

Patch Information

The upstream fix is available in the Linux kernel commit 511885d7061eda3eb1faf3f57dcc936ff75863f1. Distribution-specific updates are documented in the Debian Security Advisory DSA-5096, the Debian LTS Announcement December 2021, and the Debian LTS Announcement March 2022. Industrial users should also consult the Siemens Security Advisory SSA-222547.

Workarounds

  • No vendor-provided workaround exists; upgrading to a patched kernel is the only reliable remediation.
  • Limit exposure by tightening privilege boundaries and removing unnecessary local accounts with elevated rights.
  • Where patching must be deferred, schedule proactive reboots and capacity monitoring to reduce the impact of progressive resource starvation.
bash
# Configuration example: update and reboot on Debian-based systems
sudo apt update
sudo apt install --only-upgrade linux-image-$(uname -r | cut -d- -f3-)
uname -r   # verify kernel version after reboot
sudo systemctl reboot

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.