HOMEVULNERABILITIESCVE-2026-31703
HIGH

CVE-2026-31703

Published: May 1, 2026· Updated: May 6, 2026

7.8
CVSS v3.1
EPSS:0.01%probability of exploitation in 30 daysPercentile:1.7th

Official 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.

NVD Source

Technical Analysis

CVE-2026-31703 requires local access, meaning attackers must already have a foothold on the target system.

Exploitation requires low privileges, which limits the exposure to scenarios where an attacker has already gained initial access.

A successful exploit results in complete confidentiality breach (data exposure), full integrity compromise (data manipulation), availability disruption (denial of service), with a CVSS base score of 7.8.

CVSS v3.1 Vector Breakdown

Exploitability
Attack VectorLocal
Attack ComplexityLow
Privileges Req.Low
User InteractionNone
ScopeUnchanged
Impact
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected Vendors & Products

Linux1 product
linux kernel
Source: NVD CPE · 2 total CPE entries

Exploit & PoC Resources

NO KNOWN EXPLOITNo public exploit confirmed at this time
External links open in a new tab. Always verify in a controlled environment before use.

Official Patches & Advisories

All References (3)

Quick Facts

CVE IDCVE-2026-31703
CVSS Score7.8 / 10
SeverityHIGH
CISA KEVNo
EPSS (30d)0.01%
Affected1 vendor
PublishedMay 1, 2026

Recommended Actions

  • Apply vendor patches immediately
  • Monitor CVE-2026-31703 in threat intel feeds
  • Review IDS/IPS signatures for exploitation attempts
Data sourced from NVD (NIST), CISA KEV, and EPSS (FIRST). Analysis generated by CTIWATCH.COM. CVE data is provided under the NVD usage policy.