Skip to main content

Linux Kernel CVE-2026-53165

| EUVDEUVD-2026-39256 HIGH
NULL Pointer Dereference (CWE-476)
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-f5cm-4mmf-92c9
7.5
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Trigger is a local cross-CPU race needing file read access plus a concurrent truncate, so AV:L/AC:H/PR:L; impact is a kernel crash only, hence C:N/I:N/A:H.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.7 MEDIUM
AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 09:18 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.5 (HIGH)
Patch available
Jun 25, 2026 - 10:32 EUVD
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 25, 2026 - 09:16 cve.org
HIGH 7.5

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

iomap: avoid potential null folio->mapping deref during error reporting

When a buffered read fails, iomap_finish_folio_read() reports the error with fserror_report_io(folio->mapping->host, ...). This is called after ifs->read_bytes_pending has been decremented by the bytes attempted to be read.

For a folio split across multiple read completions, the folio is only guaranteed to stay locked while read_bytes_pending > 0. Once iomap_finish_folio_read() decrements read_bytes_pending, another in-flight read can complete and end the read on the folio, which unlocks it. This allows truncate logic to run and detach the folio (set folio->mapping to NULL). The error reporting path then can dereference a NULL folio->mapping. As reported by Sam Sun, this is the race that can occur:

CPU0: failed completion CPU1: final completion CPU2: truncate ----------------------- ---------------------- -------------- read_bytes_pending -= len finished = false /* preempted before fserror_report_io() */ read_bytes_pending -= len finished = true folio_end_read() truncate clears folio->mapping fserror_report_io( folio->mapping->host, ...) ^ NULL deref

Fix this by reporting the error first before decrementing ifs->read_bytes_pending.

AnalysisAI

Denial of service in the Linux kernel's iomap buffered I/O layer allows a NULL pointer dereference (kernel oops/panic) when a buffered read fails on a folio split across multiple read completions. Because iomap_finish_folio_read() decremented read_bytes_pending before calling fserror_report_io(), a concurrent final read completion plus a truncate could detach the folio (folio->mapping = NULL) before the error path dereferenced it. CVSS 7.5 reflects availability-only impact (A:H); EPSS is low (0.18%, 8th percentile) and there is no public exploit identified at time of analysis.

Technical ContextAI

The bug lives in fs/iomap, the kernel's modern block-mapping infrastructure used by major filesystems (XFS, and increasingly ext4, btrfs, gfs2, zonefs) for buffered and direct I/O. A folio (the kernel's multi-page memory unit replacing struct page in the page cache) may be served by several concurrent read bio completions; the per-folio iomap_folio_state (ifs) tracks read_bytes_pending to know when all reads finish and the folio can be unlocked. The defect is a time-of-check/use ordering error (CWE-476 NULL Pointer Dereference, arising from a CWE-362 race condition): the error-reporting call reads folio->mapping->host after relinquishing the liveness guarantee provided by a positive read_bytes_pending count, allowing truncate to null out folio->mapping in between.

RemediationAI

Upgrade to a fixed stable kernel: per EUVD the fix lands in the 7.0.13 and 7.1 lines, corresponding to upstream commits 1ad453817a4077230d1ba88eb0868f05f824449a and 2eea7f44b9c8b42fd7d3a1a87c06a7cd1b99c327 (https://git.kernel.org/stable/c/1ad453817a4077230d1ba88eb0868f05f824449a). The fix simply reorders the code to call fserror_report_io() before decrementing ifs->read_bytes_pending, so it is low-risk to backport. There is no practical runtime workaround for an in-kernel race, but exposure is reduced by limiting untrusted local users' ability to perform concurrent reads and truncates on the same files and by reducing storage I/O errors (which are the trigger) through monitoring failing devices; these are mitigations of opportunity, not substitutes for the patch. Distribution-shipped kernels should be updated via the vendor's normal security update channel.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Not-Affected

Share

CVE-2026-53165 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy