Cloudanix VulnDB

CVE-2023-53513

Medium · 5.5

CVSS

5.5

EPSS

0.1%

Published

Oct 1, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel's handling of certain storage device commands can let local software trigger crashes or errors that interrupt storage operations.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Improper Input Validation
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

Improper validation of nbd_ioctl arguments permits excessively large values to reach nbd_set_size, causing signed integer overflow in i_size calculations and truncation to int in nbd_add_socket, resulting in kernel UBSAN faults during block writes.

Why it matters to the business

Local processes can trigger kernel crashes or storage misbehavior on systems exposing NBD devices, leading to service disruption for workloads relying on network block storage until kernels are updated.

How an attack unfolds

A local attacker invokes nbd_ioctl on an NBD device with crafted 64-bit arguments that overflow when used to set device size or are truncated when adding sockets, then performs write operations that surface the integer overflow in page writeback paths.

How to fix it

Upgrade Linux kernels to fixed versions including Debian 5.10.46-1 packages or mainline commit 52851d0c3354b397c11d31dfeb8b2a2fc85a0002 that add size and argument bounds checks before nbd_set_size and nbd_add_socket.

How to confirm the fix worked

Confirm kernel version matches or exceeds the listed fixed releases, recompile with UBSAN enabled and replay the reported ioctl sequences to verify absence of signed integer overflow warnings in fs/buffer.c.

Typical attack path

  1. Obtain local unprivileged access on a system with NBD support
  2. Open an NBD block device or control interface
  3. Issue nbd_ioctl calls with large or boundary values for size or socket arguments
  4. Trigger writeback operations to induce the overflow in __block_write_full_page

How to detect it

Search kernel logs and dmesg for UBSAN warnings mentioning fs/buffer.c:1709, signed integer overflow, nbd_ioctl, nbd_set_size, or blkdev_writepage originating from nbd userspace processes.

  • UBSAN: Undefined behaviour in fs/buffer.c:1709:35
  • signed integer overflow: -9223372036854775808 - 1 cannot be represented in type 'long long int'
  • nbd_ioctl
  • nbd_set_size
  • nbd_add_socket

What your security team should do

  • Prioritize kernel package updates on all systems exposing NBD devices
  • Limit unprivileged local access to NBD ioctls via LSM or seccomp filters where feasible
  • Monitor for UBSAN reports referencing buffer.c and nbd_ioctl until patches are deployed

The record

In the Linux kernel, the following vulnerability has been resolved: nbd: fix incomplete validation of ioctl arg We tested and found an alarm caused by nbd_ioctl arg without verification. The UBSAN warning calltrace like below: UBSAN: Undefined behaviour in fs/buffer.c:1709:35 signed integer overflow: -9223372036854775808 - 1 cannot be represented in type 'long long int' CPU: 3 PID: 2523 Comm: syz-executor.0 Not tainted 4.19.90 #1 Hardware name: linux,dummy-virt (DT) Call trace: dump_backtrace+0x0/0x3f0 arch/arm64/kernel/time.c:78 show_stack+0x28/0x38 arch/arm64/kernel/traps.c:158 __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x170/0x1dc lib/dump_stack.c:118 ubsan_epilogue+0x18/0xb4 lib/ubsan.c:161 handle_overflow+0x188/0x1dc lib/ubsan.c:192 __ubsan_handle_sub_overflow+0x34/0x44 lib/ubsan.c:206 __block_write_full_page+0x94c/0xa20 fs/buffer.c:1709 block_write_full_page+0x1f0/0x280 fs/buffer.c:2934 blkdev_writepage+0x34/0x40 fs/block_dev.c:607 __writepage+0x68/0xe8 mm/page-writeback.c:2305 write_cache_pages+0x44c/0xc70 mm/page-writeback.c:2240 generic_writepages+0xdc/0x148 mm/page-writeback.c:2329 blkdev_writepages+0x2c/0x38 fs/block_dev.c:2114 do_writepages+0xd4/0x250 mm/page-writeback.c:2344 The reason for triggering this warning is __block_write_full_page() -> i_size_read(inode) - 1 overflow. inode->i_size is assigned in __nbd_ioctl() -> nbd_set_size() -> bytesize. We think it is necessary to limit the size of arg to prevent errors. Moreover, __nbd_ioctl() -> nbd_add_socket(), arg will be cast to int. Assuming the value of arg is 0x80000000000000001) (on a 64-bit machine), it will become 1 after the coercion, which will return unexpected results. Fix it by adding checks to prevent passing in too large numbers.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 bpftool 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-abi-stablelists 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-core 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-cross-headers 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-debug 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-debug-core 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-debug-devel 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-debug-modules 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-debug-modules-extra 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-devel 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-doc 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-headers 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-modules 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-modules-extra 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-rt 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-core 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-debug 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-debug-core 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-debug-devel 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-debug-modules 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-debug-modules-extra 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-devel 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-modules 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-rt-modules-extra 0 4.18.0-553.87.1.rt7.428.el8_10
AlmaLinux:8 kernel-tools 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-tools-libs 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-tools-libs-devel 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-zfcpdump 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-zfcpdump-core 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-zfcpdump-devel 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-zfcpdump-modules 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 kernel-zfcpdump-modules-extra 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 perf 0 4.18.0-553.87.1.el8_10
AlmaLinux:8 python3-perf 0 4.18.0-553.87.1.el8_10
Linux Kernel 0 5.15.113
Linux Kernel 4.1.0 5.15.113
SUSE:Linux Enterprise High Availability Extension 15 SP4 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-64kb 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-docs 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-obs-build 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_45 0 1-150400.9.3.1
SUSE:Linux Enterprise Micro 5.3 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Micro 5.3 kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise Micro 5.3 kernel-rt 0 5.14.21-150400.15.133.1
SUSE:Linux Enterprise Micro 5.3 kernel-source-rt 0 5.14.21-150400.15.133.1
SUSE:Linux Enterprise Micro 5.4 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Micro 5.4 kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise Micro 5.4 kernel-rt 0 5.14.21-150400.15.133.1
SUSE:Linux Enterprise Micro 5.4 kernel-source-rt 0 5.14.21-150400.15.133.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-64kb 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-docs 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-obs-build 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-source 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server 15 SP4-LTSS kernel-zfcpdump 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-docs 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-obs-build 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-source 0 5.14.21-150400.24.179.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Manager Proxy LTS 4.3 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Manager Proxy LTS 4.3 kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Manager Proxy LTS 4.3 kernel-source 0 5.14.21-150400.24.179.1
SUSE:Manager Proxy LTS 4.3 kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Manager Server LTS 4.3 kernel-default 0 5.14.21-150400.24.179.1
SUSE:Manager Server LTS 4.3 kernel-default-base 0 5.14.21-150400.24.179.1.150400.24.92.1
SUSE:Manager Server LTS 4.3 kernel-source 0 5.14.21-150400.24.179.1
SUSE:Manager Server LTS 4.3 kernel-syms 0 5.14.21-150400.24.179.1
SUSE:Manager Server LTS 4.3 kernel-zfcpdump 0 5.14.21-150400.24.179.1

Related vulnerabilities