Cloudanix VulnDB

CVE-2026-53319

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

Jun 26, 2026

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A Linux flaw can turn a harmless storage setup failure into a system warning that may crash machines configured to shut down on such warnings.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Denial of service
Remediation
Patch
Effort
Low
Patch risk
Low

What it actually does

This is a Linux kernel reliability issue in the block writeback throttling path. During block device queue registration, wbt_init_enable_default() treated expected failure conditions from writeback throttling allocation or initialization as WARN_ON_ONCE events. Under memory pressure or when writeback throttling was already registered, the kernel could emit a warning and stack trace even though the failure path was non-fatal and the device could safely continue without writeback throttling. The fix replaces the warning assertion with normal conditional handling and a diagnostic warning only where appropriate. The practical technical impact is local denial-of-service or operational disruption in configurations where kernel warnings are configured to panic the system, or where repeated warning-triggering activity degrades stability, observability, or availability.

Why it matters to the business

Successful triggering may cause affected Linux systems to log noisy kernel warnings and, on systems configured to panic on kernel warnings, may crash or reboot the host. The highest operational risk is to servers, appliances, embedded systems, or storage-heavy workloads where unprivileged or low-privileged users can exercise block partition ioctls or where fault-injection-style conditions can be induced. There is no indication of remote code execution, privilege escalation, ransomware use, or known exploitation in CISA KEV. EPSS is very low, so broad active exploitation is unlikely, but organizations that treat kernel warnings as fatal should prioritize validation and patching to avoid avoidable outages.

How an attack unfolds

An attacker needs a way to reach the affected block device partition-management path, specifically activity that causes MTD or block partition creation through ioctl(BLKPG), while the kernel experiences allocation failure or encounters an already-registered writeback throttling state. In the original vulnerable behavior, wbt_alloc() returning NULL under memory pressure or wbt_init() returning -EBUSY could trigger WARN_ON_ONCE in wbt_init_enable_default(). If the target kernel is configured to panic on WARN_ON conditions, that warning can escalate from a diagnostic event into a system crash. In less severe configurations, exploitation mainly creates kernel log noise and stack traces rather than a direct compromise. No public exploit maturity or named threat actor activity is reported for this issue.

How to fix it

Update to a Linux kernel version that includes the upstream fix for blk-wbt removing WARN_ON_ONCE from wbt_init_enable_default(). Because no affected product list or exact fixed package versions were provided, use vendor advisories for the relevant distribution, appliance, cloud image, or embedded kernel branch to identify the corrected kernel package. As interim mitigation, restrict local access to block device management interfaces, limit permissions that allow issuing BLKPG ioctls, avoid exposing MTD/block partition manipulation to untrusted users or containers, and review whether panic-on-warn settings are appropriate for production availability requirements. Where possible, disable or tightly control kernel fault injection features outside of test environments.

How to confirm the fix worked

Confirm that the running kernel includes the patch changing wbt_init_enable_default() to handle wbt_alloc() and wbt_init() failures without WARN_ON_ONCE. Validate through vendor package metadata, kernel changelog, or source inspection of block/blk-wbt.c. On systems where testing is acceptable, reproduce the previously affected path in a controlled non-production environment and verify that allocation failure or duplicate writeback throttling initialization no longer produces a WARN_ON_ONCE stack trace or kernel panic. Also verify runtime hardening by checking whether kernel.panic_on_warn is disabled unless deliberately required, and confirm that untrusted users cannot perform block partition management operations.

Typical attack path

  1. Obtain local ability to execute code or issue relevant block device partition-management ioctls on an affected Linux system.
  2. Trigger MTD or block partition creation paths, such as ioctl(BLKPG), that lead to blk_register_queue() and wbt_init_enable_default().
  3. Induce or rely on expected failure conditions such as memory pressure causing wbt_alloc() to fail, or a duplicate writeback throttling registration causing wbt_init() to return -EBUSY.
  4. Cause the vulnerable kernel to emit WARN_ON_ONCE and a stack trace for a condition that should have been handled as non-fatal.
  5. If the system is configured to panic on kernel warnings, convert the warning into a denial-of-service crash or reboot; otherwise, cause operational noise and possible monitoring disruption.

How to detect it

Look for evidence of prior triggering in kernel logs and persistent journal data. Primary sources include dmesg output, /var/log/kern.log, /var/log/messages, /var/log/syslog, systemd-journald kernel facility logs, crash dump metadata, and hypervisor or out-of-band management reset records. Search for WARN_ON_ONCE stack traces referencing wbt_init_enable_default(), blk-wbt, blk_register_queue(), MTD partition creation, or ioctl(BLKPG). Correlate these events with local user sessions, privileged container activity, storage administration commands, device-mapper or MTD tooling, memory pressure/OOM events, and unexpected reboots. On systems with kernel.panic_on_warn enabled, investigate crashes or vmcore dumps where the panic path follows a kernel warning in block writeback throttling initialization. There are no reliable remote network indicators for this issue because exploitation is local/kernel-path dependent.

  • wbt_init_enable_default
  • blk-wbt
  • WARN_ON_ONCE
  • WARNING: CPU:
  • blk_register_queue
  • ioctl(BLKPG)
  • BLKPG
  • wbt_alloc
  • wbt_init
  • panic_on_warn
  • kernel.panic_on_warn
  • MTD partition
  • /var/log/kern.log
  • /var/log/messages
  • /var/log/syslog
  • /proc/sys/kernel/panic_on_warn

What your security team should do

  • Inventory Linux kernels in use across servers, appliances, containers with elevated device access, and embedded systems, then map them to vendor-fixed releases.
  • Prioritize patching systems configured with panic-on-warn, systems that expose block device management to users or workloads, and storage or embedded platforms using MTD/block partition operations.
  • Review and restrict access to block devices, CAP_SYS_ADMIN, privileged containers, and tooling capable of issuing BLKPG ioctls.
  • Check kernel runtime settings such as kernel.panic_on_warn and ensure availability-critical systems do not unintentionally crash on non-fatal warnings.
  • Monitor kernel logs for blk-wbt, wbt_init_enable_default, BLKPG, and WARN_ON_ONCE stack traces as signs of attempted triggering or pre-patch exposure.
  • Because EPSS is low and there is no KEV or known exploit maturity, treat this as a reliability hardening issue unless local exposure or panic-on-warn settings increase operational risk.

The record

In the Linux kernel, the following vulnerability has been resolved: blk-wbt: remove WARN_ON_ONCE from wbt_init_enable_default() wbt_init_enable_default() uses WARN_ON_ONCE to check for failures from wbt_alloc() and wbt_init(). However, both are expected failure paths: - wbt_alloc() can return NULL under memory pressure (-ENOMEM) - wbt_init() can fail with -EBUSY if wbt is already registered syzbot triggers this by injecting memory allocation failures during MTD partition creation via ioctl(BLKPG), causing a spurious warning. wbt_init_enable_default() is a best-effort initialization called from blk_register_queue() with a void return type. Failure simply means the disk operates without writeback throttling, which is harmless. Replace WARN_ON_ONCE with plain if-checks, consistent with how wbt_set_lat() in the same file already handles these failures. Add a pr_warn() for the wbt_init() failure to retain diagnostic information without triggering a full stack trace.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities