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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-31703— writeback: Fix use after free in inode_switch_wbs_work_fn()

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存在安全漏洞,该漏洞源于inode_switch_wbs_work_fn()中工作队列与列表状态不一致,可能导致工作队列挂起时wb被释放导致释放后重用。

CVSS 7.8 · High EPSS 0.17% · P6

Possible ATT&CK Techniques 1 AI

T1059 · Command and Scripting Interpreter

Affected Version Matrix 11

VendorProduct Version RangeStatus
Linux Linux d072b38a64ddbc2d58c2e525a24af24ecbfebcb7< 382cf81cae89e58d22b4bdc38891cd4d0b9ba921 affected
ac7b2c21f2269d815ad0cdf0f8258d55185b805c< 19ec404b079be057b387643ba0c69bbcc5867c35 affected
fabfc1fcddc5d8185722d4fde5f0968c4760b71e< 156cc63691c1f20905510b1007896e090355e6c2 affected
e1b849cfa6b61f1c866a908c9e8dd9b5aaab820b< 028103656b84273c73e9e271cf95c9f3421f4b8a affected
e1b849cfa6b61f1c866a908c9e8dd9b5aaab820b< 9223e5f30403a9b506d6d0bff4f2e29a2d7d46af affected
e1b849cfa6b61f1c866a908c9e8dd9b5aaab820b< 6689f01d6740cf358932b3e97ee968c6099800d9 affected
6.18 affected
< 6.18 unaffected
… +3 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-31703

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
writeback: Fix use after free in inode_switch_wbs_work_fn()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: writeback: Fix use after free in inode_switch_wbs_work_fn() inode_switch_wbs_work_fn() has a loop like: wb_get(new_wb); while (1) { list = llist_del_all(&new_wb->switch_wbs_ctxs); /* Nothing to do? */ if (!list) break; ... process the items ... } Now adding of items to the list looks like: wb_queue_isw() if (llist_add(&isw->list, &wb->switch_wbs_ctxs)) queue_work(isw_wq, &wb->switch_work); Because inode_switch_wbs_work_fn() loops when processing isw items, it can happen that wb->switch_work is pending while wb->switch_wbs_ctxs is empty. This is a problem because in that case wb can get freed (no isw items -> no wb reference) while the work is still pending causing use-after-free issues. We cannot just fix this by cancelling work when freeing wb because that could still trigger problematic 0 -> 1 transitions on wb refcount due to wb_get() in inode_switch_wbs_work_fn(). It could be all handled with more careful code but that seems unnecessarily complex so let's avoid that until it is proven that the looping actually brings practical benefit. Just remove the loop from inode_switch_wbs_work_fn() instead. That way when wb_queue_isw() queues work, we are guaranteed we have added the first item to wb->switch_wbs_ctxs and nobody is going to remove it (and drop the wb reference it holds) until the queued work runs.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/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存在安全漏洞,该漏洞源于inode_switch_wbs_work_fn()中工作队列与列表状态不一致,可能导致工作队列挂起时wb被释放导致释放后重用。
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 d072b38a64ddbc2d58c2e525a24af24ecbfebcb7 ~ 382cf81cae89e58d22b4bdc38891cd4d0b9ba921 -
Linux Linux 6.18 -

II. Public POCs for CVE-2026-31703

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

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

Patches & Fixes for CVE-2026-31703 (5)

Same Patch Batch · Linux · 2026-05-01 · 146 CVEs total

CVE-2026-43037 9.8 CRITICAL ip6_tunnel: clear skb2->cb[] in ip4ip6_err()
CVE-2026-31705 9.8 CRITICAL ksmbd: fix out-of-bounds write in smb2_get_ea() EA alignment
CVE-2026-43038 9.8 CRITICAL ipv6: icmp: clear skb2->cb[] in ip6_err_gen_icmpv6_unreach()
CVE-2026-43011 9.8 CRITICAL net/x25: Fix potential double free of skb
CVE-2026-31718 9.8 CRITICAL ksmbd: fix use-after-free in __ksmbd_close_fd() via durable scavenger
CVE-2026-43039 9.8 CRITICAL net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
CVE-2026-31773 8.8 HIGH Bluetooth: SMP: derive legacy responder STK authentication from MITM state
CVE-2026-43018 8.8 HIGH Bluetooth: hci_event: fix potential UAF in hci_le_remote_conn_param_req_evt
CVE-2026-31706 8.8 HIGH ksmbd: validate num_aces and harden ACE walk in smb_inherit_dacl()
CVE-2026-31709 8.8 HIGH smb: client: validate the whole DACL before rewriting it in cifsacl
CVE-2026-43048 8.8 HIGH HID: core: Mitigate potential OOB by removing bogus memset()
CVE-2026-31717 8.8 HIGH ksmbd: validate owner of durable handle on reconnect
CVE-2026-31739 8.8 HIGH crypto: tegra - Add missing CRYPTO_ALG_ASYNC
CVE-2026-31735 8.8 HIGH iommupt: Fix short gather if the unmap goes into a large mapping
CVE-2026-31712 8.3 HIGH ksmbd: require minimum ACE size in smb_check_perm_dacl()
CVE-2026-31771 8.1 HIGH Bluetooth: hci_event: move wake reason storage into validated event handlers
CVE-2026-31779 8.1 HIGH wifi: iwlwifi: mvm: fix potential out-of-bounds read in iwl_mvm_nd_match_info_handler()
CVE-2026-43051 8.1 HIGH HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq
CVE-2026-31708 8.1 HIGH smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path
CVE-2026-43056 7.8 HIGH net: mana: fix use-after-free in add_adev() error path

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

IV. Related Vulnerabilities

V. Comments for CVE-2026-31703

No comments yet


Leave a comment