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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-43118— btrfs: fix zero size inode with non-zero size after log replay

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于日志重放时未正确更新i_size为0,可能导致零大小inode具有非零大小。

AI Predicted 4.3 Difficulty: Moderate EPSS 0.16% · P5

Possible ATT&CK Techniques 1 AI

T1070.003 · Clear Command History

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 12fcfd22fe5bf4fe74710232098bc101af497995< fddb157536e67a055597f00a8b4922d5f5ed0826 affected
12fcfd22fe5bf4fe74710232098bc101af497995< 03e966b63df5b06790310c1faaf3e0cb43adea8b affected
12fcfd22fe5bf4fe74710232098bc101af497995< 5254d4181add9dfaa5e3519edd71cc8f752b2f85 affected
2.6.30 affected
< 2.6.30 unaffected
6.18.24≤ 6.18.* unaffected
6.19.14≤ 6.19.* unaffected
7.0≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-43118

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
btrfs: fix zero size inode with non-zero size after log replay
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: fix zero size inode with non-zero size after log replay When logging that an inode exists, as part of logging a new name or logging new dir entries for a directory, we always set the generation of the logged inode item to 0. This is to signal during log replay (in overwrite_item()), that we should not set the i_size since we only logged that an inode exists, so the i_size of the inode in the subvolume tree must be preserved (as when we log new names or that an inode exists, we don't log extents). This works fine except when we have already logged an inode in full mode or it's the first time we are logging an inode created in a past transaction, that inode has a new i_size of 0 and then we log a new name for the inode (due to a new hardlink or a rename), in which case we log an i_size of 0 for the inode and a generation of 0, which causes the log replay code to not update the inode's i_size to 0 (in overwrite_item()). An example scenario: mkdir /mnt/dir xfs_io -f -c "pwrite 0 64K" /mnt/dir/foo sync xfs_io -c "truncate 0" -c "fsync" /mnt/dir/foo ln /mnt/dir/foo /mnt/dir/bar xfs_io -c "fsync" /mnt/dir <power fail> After log replay the file remains with a size of 64K. This is because when we first log the inode, when we fsync file foo, we log its current i_size of 0, and then when we create a hard link we log again the inode in exists mode (LOG_INODE_EXISTS) but we set a generation of 0 for the inode item we add to the log tree, so during log replay overwrite_item() sees that the generation is 0 and i_size is 0 so we skip updating the inode's i_size from 64K to 0. Fix this by making sure at fill_inode_item() we always log the real generation of the inode if it was logged in the current transaction with the i_size we logged before. Also if an inode created in a previous transaction is logged in exists mode only, make sure we log the i_size stored in the inode item located from the commit root, so that if we log multiple times that the inode exists we get the correct i_size. A test case for fstests will follow soon.
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存在安全漏洞,该漏洞源于日志重放时未正确更新i_size为0,可能导致零大小inode具有非零大小。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux 12fcfd22fe5bf4fe74710232098bc101af497995 ~ fddb157536e67a055597f00a8b4922d5f5ed0826 -
Linux Linux 2.6.30 -

II. Public POCs for CVE-2026-43118

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-43118

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-43118 (3)

Same Patch Batch · Linux · 2026-05-06 · 224 CVEs total

CVE-2026-43208 9.8 CRITICAL net: do not pass flow_id to set_rps_cpu()
CVE-2026-43125 9.8 CRITICAL dlm: validate length in dlm_search_rsb_tree
CVE-2026-43198 9.8 CRITICAL tcp: fix potential race in tcp_v6_syn_recv_sock()
CVE-2026-43186 9.8 CRITICAL ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()
CVE-2026-43185 9.8 CRITICAL ksmbd: fix signededness bug in smb_direct_prepare_negotiation()
CVE-2026-43114 9.4 CRITICAL netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry
CVE-2026-43117 9.1 CRITICAL btrfs: tracepoints: get correct superblock from dentry in event btrfs_sync_file()
CVE-2026-43197 9.1 CRITICAL netconsole: avoid OOB reads, msg is not nul-terminated
CVE-2026-43083 9.1 CRITICAL net: ioam6: fix OOB and missing lock
CVE-2026-43158 8.8 HIGH xfs: fix freemap adjustments when adding xattrs to leaf blocks
CVE-2026-43112 8.8 HIGH fs/smb/client: fix out-of-bounds read in cifs_sanitize_prepath
CVE-2026-43113 8.8 HIGH wifi: wl1251: validate packet IDs before indexing tx_frames
CVE-2026-43110 8.8 HIGH wifi: brcmfmac: validate bsscfg indices in IF events
CVE-2026-43249 8.8 HIGH 9p/xen: protect xen_9pfs_front_free against concurrent calls
CVE-2026-43239 8.8 HIGH smb: client: prevent races in ->query_interfaces()
CVE-2026-43232 8.8 HIGH net: wan: farsync: Fix use-after-free bugs caused by unfinished tasklets
CVE-2026-43283 8.8 HIGH net: ethernet: ec_bhf: Fix dma_free_coherent() dma handle
CVE-2026-43172 8.8 HIGH wifi: iwlwifi: fix 22000 series SMEM parsing
CVE-2026-43176 8.8 HIGH wifi: rtw89: pci: validate release report content before using for RTL8922DE
CVE-2026-43215 8.8 HIGH cifs: Fix locking usage for tcon fields

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-43118

No comments yet


Leave a comment