Cloudanix VulnDB

CVE-2023-53510

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Oct 1, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel's storage driver can let a local user cause crashes or take over the system by sending certain storage commands that time out.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The UFS driver in the Linux kernel fails to correctly manage lrbp->cmd references when ufshcd_queuecommand() is invoked multiple times for the same SCSI command, allowing stale or double-referenced command structures to persist through error and timeout paths in the SCSI error handler.

Why it matters to the business

Systems using UFS storage may experience kernel warnings, command handling failures, or memory corruption that leads to crashes or local privilege escalation, disrupting storage operations and requiring urgent kernel updates across server and container fleets.

How an attack unfolds

An attacker with local access triggers repeated SCSI command submissions that time out, forcing the error handler (scsi_send_eh_cmnd) to re-invoke queuecommand; the flawed reference handling allows reuse of freed or invalid command objects, resulting in memory corruption that can be leveraged for privilege escalation, as seen in related campaigns by VMSCAPE and Container-Optimized OS exploits.

How to fix it

Upgrade the Linux kernel to a fixed version such as 5.10.46-1 on Debian 11-14 or commit f3ee24af62681b942bbd799ac77b90a6d7e1fdb1 on stable git trees; apply vendor kernel updates immediately given the 394 days since disclosure and related exploit activity.

How to confirm the fix worked

Confirm the running kernel contains the fix by checking the presence of the commit f3ee24af62681b942bbd799ac77b90a6d7e1fdb1 or verifying lrbp->cmd handling logic in ufshcd.c no longer clears references in error paths; test with SCSI error injection workloads.

Typical attack path

  1. Obtain local access on a Linux system with UFS storage
  2. Induce SCSI command timeouts via workload or I/O errors
  3. Force the SCSI error handler to re-queue commands
  4. Trigger the double-queue condition in ufshcd_queuecommand
  5. Exploit resulting memory corruption for code execution

How to detect it

Search kernel logs for the warning at ufshcd_queuecommand+0x6f8 and call traces involving scsi_eh_test_devices or scsi_error_handler; inspect dmesg and journalctl for repeated UFS command timeout events followed by error handler activity.

  • WARNING: at drivers/ufs/core/ufshcd.c:2965 ufshcd_queuecommand
  • ufshcd_queuecommand+0x6f8/0x9a8
  • scsi_send_eh_cmnd+0x2c0/0x960
  • scsi_eh_test_devices+0x100/0x314

What your security team should do

  • Prioritize kernel upgrades on all UFS-equipped systems within the next 7 days
  • Monitor for related kernel CVEs affecting container-optimized OS environments
  • Restrict local unprivileged access where possible until patches are applied
  • Update EPSS monitoring given the slight upward trend

The record

In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Fix handling of lrbp->cmd ufshcd_queuecommand() may be called two times in a row for a SCSI command before it is completed. Hence make the following changes: - In the functions that submit a command, do not check the old value of lrbp->cmd nor clear lrbp->cmd in error paths. - In ufshcd_release_scsi_cmd(), do not clear lrbp->cmd. See also scsi_send_eh_cmnd(). This commit prevents that the following appears if a command times out: WARNING: at drivers/ufs/core/ufshcd.c:2965 ufshcd_queuecommand+0x6f8/0x9a8 Call trace: ufshcd_queuecommand+0x6f8/0x9a8 scsi_send_eh_cmnd+0x2c0/0x960 scsi_eh_test_devices+0x100/0x314 scsi_eh_ready_devs+0xd90/0x114c scsi_error_handler+0x2b4/0xb70 kthread+0x16c/0x1e0

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 3.12.0 6.3.13
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise High Availability Extension 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_16 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_16 0 1-150600.13.3.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_6 0 1-150700.15.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.73.1.150600.12.32.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-64kb 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default-base 0 6.4.0-150700.53.22.1.150700.17.15.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-source 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-zfcpdump 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-docs 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-obs-build 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-source 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-syms 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Legacy 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-source-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-syms-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Workstation Extension 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.73.1.150600.12.32.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.73.1

Related vulnerabilities