CVE-2023-53513
MediumIn 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.
CVSS 3.1 score
5.5
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness type
CWE-674CVE-2023-53513 is a Uncontrolled Recursion vulnerability
What is Uncontrolled Recursion?
The product does not properly control the amount of recursion which triggers resource consumption. Learn more on MITRE CWE
Affected versions
Linux kernel versions
4.1
and later are affected. Fixed in
5.15.113,
6.1.30,
6.3.4,
6.4
and their respective stable series.
References
The following references provide additional information about CVE-2023-53513 including vendor advisories, patch commits, exploit details, and third-party analysis. Links are sourced from the NIST NVD database.
-
PatchKernel patch commithttps://git.kernel.org/stable/c/52851d0c3354b397c11d31dfeb8b2a2fc85a0002
-
PatchKernel patch commithttps://git.kernel.org/stable/c/55793ea54d77719a071b1ccc05a05056e3b5e009
-
PatchKernel patch commithttps://git.kernel.org/stable/c/fab766c8a1aff715bce7075aab40e780266f8e1a
Frequently asked questions
-
What is CVE-2023-53513?
CVE-2023-53513 is a Medium severity Linux kernel vulnerability with a CVSS score of 5.5 out of 10 , classified as an Uncontrolled Recursion flaw (CWE-674) . It affects Linux kernel versions from 4.1 onward and has been patched in 5.15.113, 6.1.30, 6.3.4 and others. CVE-2023-53513 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
What is the CVSS score for CVE-2023-53513?
CVE-2023-53513 has a CVSS score of 5.5 out of 10, rated Medium severity (CVSS 3.1). The vector string is
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H. -
Is there a patch available for CVE-2023-53513?
Yes — CVE-2023-53513 has been patched. Fixed versions include 5.15.113, 6.1.30, 6.3.4 and others. If you are running Linux kernel 4.1 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2023-53513 actively exploited?
No — CVE-2023-53513 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
-
What is Uncontrolled Recursion (CWE-674)?
The product does not properly control the amount of recursion which triggers resource consumption. View CWE-674 on MITRE CWE →