Skip to main content

Linux Kernel CVE-2026-63815

| EUVDEUVD-2026-45481 HIGH
2026-07-19 Linux GHSA-7mq9-8547-cp53
8.4
CVSS 3.1 · Vendor: Linux
Share

Severity by source

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

Local only - attacker must mount a crafted image, so AV:L and PR:L (mount privilege/automount); primary impact is kernel-memory disclosure (C:H) and crash (A:H), with limited integrity (I:L) from geometry corruption.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 15:41 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
8.4 (HIGH)
Patch available
Jul 19, 2026 - 14:17 EUVD
CVE Published
Jul 19, 2026 - 12:02 cve.org
HIGH 8.4
CVE Published
Jul 19, 2026 - 12:02 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

f2fs: bound i_inline_xattr_size for non-inline-xattr inodes

When the flexible_inline_xattr feature is enabled, do_read_inode() loads the on-disk i_inline_xattr_size unconditionally:

if (f2fs_sb_has_flexible_inline_xattr(sbi)) fi->i_inline_xattr_size = le16_to_cpu(ri->i_inline_xattr_size);

but sanity_check_inode() only range-checks it when the inode also has the FI_INLINE_XATTR flag set. An inode that carries an inline dentry or inline data but not FI_INLINE_XATTR -- the normal layout for an inline directory -- therefore keeps a fully attacker-controlled i_inline_xattr_size from a crafted image.

get_inline_xattr_addrs() returns that value with no flag gating, so it feeds the inode geometry:

MAX_INLINE_DATA() = 4 * (CUR_ADDRS_PER_INODE - i_inline_xattr_size - 1) NR_INLINE_DENTRY() = MAX_INLINE_DATA() * BITS_PER_BYTE / (...) addrs_per_page() = CUR_ADDRS_PER_INODE - i_inline_xattr_size

A large i_inline_xattr_size drives MAX_INLINE_DATA() and NR_INLINE_DENTRY() negative, so make_dentry_ptr_inline() sets d->max (int) to a negative value. The inline directory walk then compares an unsigned long bit_pos against that negative d->max, which is promoted to a huge unsigned bound, and reads far past the inline area:

while (bit_pos < d->max) /* fs/f2fs/dir.c */ ... test_bit_le(bit_pos, d->bitmap) / d->dentry[bit_pos] ...

Mounting a crafted image and reading such a directory triggers an out-of-bounds read in f2fs_fill_dentries(); the same underflow also corrupts ADDRS_PER_INODE for regular files.

Validate i_inline_xattr_size against MAX_INLINE_XATTR_SIZE whenever the flexible_inline_xattr feature is enabled -- i.e. whenever the value is loaded from disk and consumed -- and keep the lower MIN_INLINE_XATTR_SIZE bound gated on inodes that actually carry an inline xattr, so legitimate inodes with i_inline_xattr_size == 0 are still accepted.

AnalysisAI

Out-of-bounds kernel memory read in the Linux kernel's f2fs filesystem driver allows an attacker who can get a crafted f2fs image mounted to leak kernel memory and crash the system. When the flexible_inline_xattr feature is enabled, do_read_inode() trusts the on-disk i_inline_xattr_size for inodes that carry inline dentries or inline data but lack the FI_INLINE_XATTR flag, so an unvalidated, attacker-controlled size drives inode geometry negative and produces an out-of-bounds read in f2fs_fill_dentries() when the inline directory is read. EPSS is low (0.16%, 5th percentile) and there is no public exploit identified at time of analysis nor CISA KEV listing; a vendor patch is available.

Technical ContextAI

The affected component is f2fs (Flash-Friendly File System), a log-structured filesystem widely used on flash/eMMC storage and default on many Android devices. The root cause is a missing bounds check (CWE-125 out-of-bounds read; the intelligence feed also tags it 'Buffer Overflow'). With the flexible_inline_xattr on-disk feature, do_read_inode() loads ri->i_inline_xattr_size unconditionally, but sanity_check_inode() only range-checked that field for inodes with the FI_INLINE_XATTR flag set. An inline directory (inline dentry, no FI_INLINE_XATTR) therefore retains a fully attacker-controlled value. get_inline_xattr_addrs() returns it with no flag gating, feeding MAX_INLINE_DATA() = 4*(CUR_ADDRS_PER_INODE - i_inline_xattr_size - 1), NR_INLINE_DENTRY(), and addrs_per_page(). A large size underflows these to negative, so make_dentry_ptr_inline() sets the signed int d->max negative; the directory walk 'while (bit_pos < d->max)' promotes it to a huge unsigned bound and reads far past the inline area. The same underflow corrupts ADDRS_PER_INODE for regular files. The fix validates i_inline_xattr_size against MAX_INLINE_XATTR_SIZE whenever flexible_inline_xattr is enabled, keeping the MIN_INLINE_XATTR_SIZE lower bound gated on inodes that actually carry an inline xattr so legitimate size==0 inodes are still accepted.

RemediationAI

Vendor-released patch: update to Linux 6.12.96, 6.18.39, 7.1.3, or 7.2-rc1 (or your distribution's backported equivalent) which validates i_inline_xattr_size against MAX_INLINE_XATTR_SIZE whenever flexible_inline_xattr is enabled; the fix is in kernel.org stable commits 2a9f9791653ba5ed3fb45bbffa8d63a7cd5cf706, 4ce2d52f680c1d8bfdad7cce05b815ea7ca9790d, 16bc237ce3c483b75575abea53cfb639745311ed and 378acf3cf19b6af6cba55e8dd1154c4e1504bae8 (linked from https://git.kernel.org/stable/ and https://nvd.nist.gov/vuln/detail/CVE-2026-63815 ). Until patched, the practical compensating control is to prevent untrusted f2fs images from being mounted: disable or restrict automounting of removable/USB media (e.g. udisks/autofs policies), which stops attacker-supplied filesystems from being processed automatically at the cost of user convenience for legitimate removable devices. Where f2fs is not required, blacklisting or not loading the f2fs module removes the attack surface entirely but is only viable if no production storage uses f2fs. Restricting mount privileges to trusted administrators and avoiding mounting images from untrusted sources further reduces exposure with minimal operational side effects.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-63815 vulnerability details – vuln.today

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