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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-31450— ext4: publish jinode after initialization

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存在安全漏洞,该漏洞源于ext4_inode_attach_jinode函数在初始化前发布jinode,可能导致读取未设置的i_vfs_inode造成崩溃。

CVSS 8.8 · High EPSS 0.77% · P54

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux a361293f5fedea0016a10599f409631a15d47ee7< 2d2b648960147d078b000b9a7494017082024366 affected
a361293f5fedea0016a10599f409631a15d47ee7< e4325e84727e539c8597bd5b8491349f57f7fb17 affected
a361293f5fedea0016a10599f409631a15d47ee7< be54c0055407a73b60349c093c8ce621cb8fa232 affected
a361293f5fedea0016a10599f409631a15d47ee7< a070d5a872ffe0e0fe5c46eda6386140ded39adb affected
a361293f5fedea0016a10599f409631a15d47ee7< e76bcb727e4874a2f9d0297f8e3f8eced89b0764 affected
a361293f5fedea0016a10599f409631a15d47ee7< 4855a59e21789c79f003a9b5f4135c95a7495c6b affected
a361293f5fedea0016a10599f409631a15d47ee7< 33f486987af21531a7b18973d11795ede3da9ddd affected
a361293f5fedea0016a10599f409631a15d47ee7< 1aec30021edd410b986c156f195f3d23959a9d11 affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-31450

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
ext4: publish jinode after initialization
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ext4: publish jinode after initialization ext4_inode_attach_jinode() publishes ei->jinode to concurrent users. It used to set ei->jinode before jbd2_journal_init_jbd_inode(), allowing a reader to observe a non-NULL jinode with i_vfs_inode still unset. The fast commit flush path can then pass this jinode to jbd2_wait_inode_data(), which dereferences i_vfs_inode->i_mapping and may crash. Below is the crash I observe: ``` BUG: unable to handle page fault for address: 000000010beb47f4 PGD 110e51067 P4D 110e51067 PUD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 4850 Comm: fc_fsync_bench_ Not tainted 6.18.0-00764-g795a690c06a5 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.17.0-2-2 04/01/2014 RIP: 0010:xas_find_marked+0x3d/0x2e0 Code: e0 03 48 83 f8 02 0f 84 f0 01 00 00 48 8b 47 08 48 89 c3 48 39 c6 0f 82 fd 01 00 00 48 85 c9 74 3d 48 83 f9 03 77 63 4c 8b 0f <49> 8b 71 08 48 c7 47 18 00 00 00 00 48 89 f1 83 e1 03 48 83 f9 02 RSP: 0018:ffffbbee806e7bf0 EFLAGS: 00010246 RAX: 000000000010beb4 RBX: 000000000010beb4 RCX: 0000000000000003 RDX: 0000000000000001 RSI: 0000002000300000 RDI: ffffbbee806e7c10 RBP: 0000000000000001 R08: 0000002000300000 R09: 000000010beb47ec R10: ffff9ea494590090 R11: 0000000000000000 R12: 0000002000300000 R13: ffffbbee806e7c90 R14: ffff9ea494513788 R15: ffffbbee806e7c88 FS: 00007fc2f9e3e6c0(0000) GS:ffff9ea6b1444000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000010beb47f4 CR3: 0000000119ac5000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> filemap_get_folios_tag+0x87/0x2a0 __filemap_fdatawait_range+0x5f/0xd0 ? srso_alias_return_thunk+0x5/0xfbef5 ? __schedule+0x3e7/0x10c0 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? cap_safe_nice+0x37/0x70 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 filemap_fdatawait_range_keep_errors+0x12/0x40 ext4_fc_commit+0x697/0x8b0 ? ext4_file_write_iter+0x64b/0x950 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ? srso_alias_return_thunk+0x5/0xfbef5 ? vfs_write+0x356/0x480 ? srso_alias_return_thunk+0x5/0xfbef5 ? preempt_count_sub+0x5f/0x80 ext4_sync_file+0xf7/0x370 do_fsync+0x3b/0x80 ? syscall_trace_enter+0x108/0x1d0 __x64_sys_fdatasync+0x16/0x20 do_syscall_64+0x62/0x2c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e ... ``` Fix this by initializing the jbd2_inode first. Use smp_wmb() and WRITE_ONCE() to publish ei->jinode after initialization. Readers use READ_ONCE() to fetch the pointer.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于ext4_inode_attach_jinode函数在初始化前发布jinode,可能导致读取未设置的i_vfs_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 a361293f5fedea0016a10599f409631a15d47ee7 ~ 2d2b648960147d078b000b9a7494017082024366 -
Linux Linux 3.11 -

II. Public POCs for CVE-2026-31450

# 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-31450

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

Same Patch Batch · Linux · 2026-04-22 · 100 CVEs total

CVE-2026-31463 9.8 CRITICAL iomap: fix invalid folio access when i_blkbits differs from I/O granularity
CVE-2026-31436 9.8 CRITICAL dmaengine: idxd: fix possible wrong descriptor completion in llist_abort_desc()
CVE-2026-31444 9.8 CRITICAL ksmbd: fix use-after-free and NULL deref in smb_grant_oplock()
CVE-2026-31478 9.8 CRITICAL ksmbd: replace hardcoded hdr2_len with offsetof() in smb2_calc_max_out_buf_len()
CVE-2026-31501 9.8 CRITICAL net: ti: icssg-prueth: fix use-after-free of CPPI descriptor in RX path
CVE-2026-31448 9.4 CRITICAL ext4: avoid infinite loops caused by residual data
CVE-2026-31432 8.8 HIGH ksmbd: fix OOB write in QUERY_INFO for compound requests
CVE-2026-31433 8.8 HIGH ksmbd: fix potencial OOB in get_file_all_info() for compound requests
CVE-2026-31435 8.8 HIGH netfs: Fix read abandonment during retry
CVE-2026-31476 8.2 HIGH ksmbd: do not expire session on binding failure
CVE-2026-31464 8.1 HIGH scsi: ibmvfc: Fix OOB access in ibmvfc_discover_targets_done()
CVE-2026-31513 8.1 HIGH Bluetooth: L2CAP: Fix stack-out-of-bounds read in l2cap_ecred_conn_req
CVE-2026-31454 7.8 HIGH xfs: save ailp before dropping the AIL lock in push callbacks
CVE-2026-31479 7.8 HIGH drm/xe: always keep track of remap prev/next
CVE-2026-31494 7.8 HIGH net: macb: use the current queue number for stats
CVE-2026-31488 7.8 HIGH drm/amd/display: Do not skip unrelated mode changes in DSC validation
CVE-2026-31502 7.8 HIGH team: fix header_ops type confusion with non-Ethernet ports
CVE-2026-31504 7.8 HIGH net: fix fanout UAF in packet_release() via NETDEV_UP race
CVE-2026-31505 7.8 HIGH iavf: fix out-of-bounds writes in iavf_get_ethtool_stats()
CVE-2026-31446 7.8 HIGH ext4: fix use-after-free in update_super_work when racing with umount

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-31450

No comments yet


Leave a comment