Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2023-52900— nilfs2: fix general protection fault in nilfs_btree_insert()

AI Predicted 5.5 Difficulty: Moderate EPSS 0.24% · P15

Affected Version Matrix 16

VendorProductVersion RangeStatus
LinuxLinuxa60be987d45dd510aeb54389526f9957cfab106c< 3c2a2ff67d46106715c2132021b98bd057c27545affected
a60be987d45dd510aeb54389526f9957cfab106c< d9fde9eab1766170ff2ade67d09178d2cfd78749affected
a60be987d45dd510aeb54389526f9957cfab106c< b0ba060d3287108eba17603bee3810e4cf2c272daffected
a60be987d45dd510aeb54389526f9957cfab106c< 712bd74eccb9d3626a0a236641962eca8e11a243affected
a60be987d45dd510aeb54389526f9957cfab106c< 45627a1a6450662e1e0f8174ef07b05710a20062affected
a60be987d45dd510aeb54389526f9957cfab106c< 0bf463939c09e5b2c35c71ed74a5fd60a74d6a04affected
a60be987d45dd510aeb54389526f9957cfab106c< 7633355e5c7f29c049a9048e461427d1d8ed3051affected
2.6.30affected
… +8 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2023-52900

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
nilfs2: fix general protection fault in nilfs_btree_insert()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix general protection fault in nilfs_btree_insert() If nilfs2 reads a corrupted disk image and tries to reads a b-tree node block by calling __nilfs_btree_get_block() against an invalid virtual block address, it returns -ENOENT because conversion of the virtual block address to a disk block address fails. However, this return value is the same as the internal code that b-tree lookup routines return to indicate that the block being searched does not exist, so functions that operate on that b-tree may misbehave. When nilfs_btree_insert() receives this spurious 'not found' code from nilfs_btree_do_lookup(), it misunderstands that the 'not found' check was successful and continues the insert operation using incomplete lookup path data, causing the following crash: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] ... RIP: 0010:nilfs_btree_get_nonroot_node fs/nilfs2/btree.c:418 [inline] RIP: 0010:nilfs_btree_prepare_insert fs/nilfs2/btree.c:1077 [inline] RIP: 0010:nilfs_btree_insert+0x6d3/0x1c10 fs/nilfs2/btree.c:1238 Code: bc 24 80 00 00 00 4c 89 f8 48 c1 e8 03 42 80 3c 28 00 74 08 4c 89 ff e8 4b 02 92 fe 4d 8b 3f 49 83 c7 28 4c 89 f8 48 c1 e8 03 <42> 80 3c 28 00 74 08 4c 89 ff e8 2e 02 92 fe 4d 8b 3f 49 83 c7 02 ... Call Trace: <TASK> nilfs_bmap_do_insert fs/nilfs2/bmap.c:121 [inline] nilfs_bmap_insert+0x20d/0x360 fs/nilfs2/bmap.c:147 nilfs_get_block+0x414/0x8d0 fs/nilfs2/inode.c:101 __block_write_begin_int+0x54c/0x1a80 fs/buffer.c:1991 __block_write_begin fs/buffer.c:2041 [inline] block_write_begin+0x93/0x1e0 fs/buffer.c:2102 nilfs_write_begin+0x9c/0x110 fs/nilfs2/inode.c:261 generic_perform_write+0x2e4/0x5e0 mm/filemap.c:3772 __generic_file_write_iter+0x176/0x400 mm/filemap.c:3900 generic_file_write_iter+0xab/0x310 mm/filemap.c:3932 call_write_iter include/linux/fs.h:2186 [inline] new_sync_write fs/read_write.c:491 [inline] vfs_write+0x7dc/0xc50 fs/read_write.c:584 ksys_write+0x177/0x2a0 fs/read_write.c:637 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd ... </TASK> This patch fixes the root cause of this problem by replacing the error code that __nilfs_btree_get_block() returns on block address conversion failure from -ENOENT to another internal code -EINVAL which means that the b-tree metadata is corrupted. By returning -EINVAL, it propagates without glitches, and for all relevant b-tree operations, functions in the upper bmap layer output an error message indicating corrupted b-tree metadata via nilfs_bmap_convert_error(), and code -EIO will be eventually returned as it should be.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于 nilfs2 文件系统在处理损坏的磁盘映像时可能产生保护故障。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux a60be987d45dd510aeb54389526f9957cfab106c ~ 3c2a2ff67d46106715c2132021b98bd057c27545 -
LinuxLinux 2.6.30 -

II. Public POCs for CVE-2023-52900

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-52900

登录查看更多情报信息。

Other References for CVE-2023-52900 (6)

Same Patch Batch · Linux · 2024-08-21 · 69 CVEs total

CVE-2023-529108.8 HIGHiommu/iova: Fix alloc iova overflows issue
CVE-2024-438818.8 HIGHwifi: ath12k: change DMA direction while mapping reinjected packets
CVE-2022-488718.8 HIGHtty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer
CVE-2024-438788.1 HIGHxfrm: Fix input error path memory access
CVE-2022-488837.8 HIGHnet/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent
CVE-2024-438777.8 HIGHmedia: pci: ivtv: Add check for DMA map result
CVE-2023-529037.8 HIGHio_uring: lock overflowing for IOPOLL
CVE-2023-529077.8 HIGHnfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame()
CVE-2024-438807.8 HIGHmlxsw: spectrum_acl_erp: Fix object nesting warning
CVE-2024-438827.8 HIGHexec: Fix ToCToU between perm check and set-uid/gid usage
CVE-2022-488997.8 HIGHdrm/virtio: Fix GEM handle creation UAF
CVE-2022-488727.8 HIGHmisc: fastrpc: Fix use-after-free race condition for maps
CVE-2022-488737.8 HIGHmisc: fastrpc: Don't remove map on creater_process and device_release
CVE-2022-488927.8 HIGHsched/core: Fix use-after-free bug in dup_user_cpus_ptr()
CVE-2022-488747.8 HIGHmisc: fastrpc: Fix use-after-free and race in fastrpc_map_find
CVE-2022-488877.8 HIGHdrm/vmwgfx: Remove rcu locks from user resources
CVE-2022-488787.8 HIGHBluetooth: hci_qca: Fix driver shutdown on closed serdev
CVE-2023-529137.8 HIGHdrm/i915: Fix potential context UAFs
CVE-2023-529097.5 HIGHnfsd: fix handling of cached open files in nfsd4_open codepath
CVE-2024-438727.5 HIGHRDMA/hns: Fix soft lockup under heavy CEQE load

Showing top 20 of 69 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2023-52900

No comments yet


Leave a comment