CVE-2023-53513: nbd: fix incomplete validation of ioctl arg
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.
Security readout for executives and security teams
Plain-English summary
CVE-2023-53513 is a Linux kernel Network Block Device issue caused by incomplete validation of an ioctl argument. A crafted oversized value can trigger undefined kernel behavior and unexpected results. The public record does not provide CVSS, confirmed impact, or active exploitation evidence.
Executive priority
Treat as a targeted kernel hardening fix for systems using NBD, not an emergency internet-wide issue based on available evidence. Prioritize patching where NBD is enabled or delegated to less-trusted workloads.
Technical view
The NBD ioctl path accepted large arg values that could overflow size calculations through nbd_set_size() and be truncated when cast to int in nbd_add_socket(). Linux fixed this by adding checks that reject overly large values before those paths.
Likely exposure
Exposure is most relevant to Linux systems running affected kernel versions with the NBD driver available and processes able to issue NBD ioctls. The source does not state required privileges, reachable attack surface, or affected distributions.
Exploitation context
The source describes syzkaller-style testing that triggered UBSAN warnings and unexpected results. CVE data marks KEV as false, and the bundle provides no cited evidence of active exploitation or public weaponization.
Researcher notes
Evidence is limited to the CVE description and kernel stable commits. The record names integer overflow/truncation behaviors but does not assign CVSS, CWE, privilege requirements, or concrete security impact beyond undefined behavior and unexpected results.
Mitigation direction
Upgrade to a kernel containing the referenced stable fixes or vendor backport.
Follow distribution vendor guidance for exact fixed package versions.
Limit access to NBD device interfaces until patched.
Disable unused NBD functionality where operationally feasible.
Validation and detection
Inventory Linux hosts and kernel versions against vendor advisories.
Identify systems using or exposing NBD device functionality.
Confirm installed kernels include the referenced validation fix or equivalent backport.
Review local access controls for processes allowed to issue NBD ioctls.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53513 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
5Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Oct 1, 2025, 11:46 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.