Skip to main content

Linux Kernel CVE-2026-89786

| EUVDEUVD-2026-80307 CRITICAL
2026-09-16 Linux GHSA-7xr2-rx94-5f89
9.1
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
vuln.today AI
7.1 HIGH

Local getdents64 trigger on a crafted inline directory sets AV:L/PR:L; OOB kernel-memory read gives C:H and potential panic gives A:H, with no integrity impact (I:N).

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Sep 16, 2026 - 15:24 vuln.today
CVSS changed
Sep 16, 2026 - 15:22 NVD
9.1 (CRITICAL)
Patch available
Sep 16, 2026 - 10:02 EUVD
CVE Published
Sep 16, 2026 - 08:48 cve.org
CRITICAL 9.1
CVE Published
Sep 16, 2026 - 08:48 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

ext4: fix out-of-bounds read in ext4_read_inline_dir()

ext4_read_inline_dir() can read a dirent header past the end of its inline buffer, triggering a slab-out-of-bounds read during getdents64():

BUG: KASAN: slab-out-of-bounds in __ext4_check_dir_entry Read of size 2 at addr ffff88800f3dd23c by task exploit/148 ... __ext4_check_dir_entry ext4_read_inline_dir iterate_dir

The dirent payload lives in a buffer of exactly inline_size bytes:

dir_buf = kmalloc(inline_size, GFP_NOFS);

but iteration runs in a position space extra_offset bytes larger (extra_size = extra_offset + inline_size) so the synthetic "." and ".." land at their block-dir offsets. A dirent is formed at "dir_buf + pos - extra_offset", yet the ext4_check_dir_entry() length argument uses the larger extra_size. A position whose dirent header would extend past extra_size is therefore accepted, and the rescan loop's rec_len probe and ext4_check_dir_entry() dereference de->rec_len before the entry is rejected.

Reject a position whose minimum-size dirent header would not fit within extra_size before forming de, in both the rescan and main loops, and pass inline_size rather than extra_size to ext4_check_dir_entry() so the length check matches the physical buffer.

AnalysisAI

Out-of-bounds heap reads in the Linux kernel's ext4 inline-directory code (ext4_read_inline_dir()) let a local actor who can present a crafted inline-data ext4 directory - by creating one on a writable ext4 volume with the inline_data feature enabled, or by mounting a malicious ext4 image (e.g. via removable-media automount) - leak kernel heap memory and crash the kernel through an ordinary getdents64()/iterate_dir() call. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
technique details hidden
Delivery
technique details hidden
Exploit
technique details hidden
Execution
technique details hidden
Impact
technique details hidden

Vulnerability AssessmentAI

Exploitation Requires local access to a system where the attacker can present a crafted ext4 inline-data directory - either by creating one on a writable ext4 volume that has the inline_data feature enabled, or by mounting a malicious ext4 image (e.g. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/C:H/I:N/A:H = 9.1 Critical) is inconsistent with the technical description and should be treated as mis-scored. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario Full exploit scenario with step-by-step reproduction available after sign-in.
Remediation Vendor-released patch: apply the ext4 fix in Linux 7.3-rc1 or the backports in stable kernels 7.2.6, 6.18.52, 6.12.110, 6.6.157, 6.1.188 and 5.15.221, obtainable from the git.kernel.org/stable/c/ commits d1e7c186555ad65554fd2f2b02f5a539aa35ae48, 5fd20d4e50dd6e460b3ea8e4396f8553d4526f8f, 1a1dea633b724a1c042dbcdb1fed27f410916688, b060861f662d4826dc700a1c3584243bb3474cfe, 6702c7da86d8cdb88d0fc57166286e115ffeb8c0, 36bf17bb90cdf7a623499b624b05acde4d2feef5 and 9333cc809f0a89e001b814155a6cb8903a6274df, or vendor distributions' rebased kernels (see also https://nvd.nist.gov/vuln/detail/CVE-2026-89786). … Detailed patch versions, workarounds, and compensating controls in full report.

Recommended ActionAI

Within 24 hours, inventory every Linux host, container host, and virtual machine we operate, record running kernel versions, and confirm with each distribution vendor (RHEL, Ubuntu, SUSE, Debian, Amazon Linux) which kernel package contains the fix - no exact fixed version was supplied in our advisory data, so obtain the precise version from the vendor bulletin rather than guessing; prioritize multi-tenant, hosted, and jump-host systems where one local user could crash or read memory belonging to others. …

Sign in for detailed remediation steps and compensating controls.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

CVE-2026-89786 vulnerability details – vuln.today

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