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

fscrypt: Add missing superblock check in find_or_insert_direct_key()

The legacy 'fscrypt_direct_keys' table caches master keys that are used
by v1 encryption policies that have FSCRYPT_POLICY_FLAG_DIRECT_KEY.
It's just a global table for all filesystems (since the keys can be
provided by the legacy process-subscribed keyrings mechanism, which
makes it difficult to reuse super_block::s_master_keys).

The entries in it ('struct fscrypt_direct_key') do contain a super_block
pointer, though, for passing to fscrypt_destroy_inline_crypt_key() when
the last inode that references the key is evicted.

However, when finding the fscrypt_direct_key for an inode, we weren't
actually comparing the super_block pointer. As a result, inodes with
different super_blocks could point to the same fscrypt_direct_key. That
could extend the lifetime of a fscrypt_direct_key beyond the
super_block it points to, causing a use-after-free later.

Fix this by creating distinct fscrypt_direct_key structs for distinct
super_block structs.

Note that this problem doesn't exist in the v2 policy equivalent
("per-mode keys"), since the data structures there are per super_block.
Published: 2026-08-10
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a missing superblock check in the fscrypt_direct_keys lookup function. Because the function does not compare the super_block pointer when retrieving a key, inodes from different filesystems can incorrectly share the same fscrypt_direct_key structure. This oversight can keep the key structure alive longer than the owning superblock, eventually leading to a use‑after‑free that corrupts kernel memory.

Affected Systems

All Linux kernel releases that support the legacy v1 fscrypt encryption mode using FSCRYPT_POLICY_FLAG_DIRECT_KEY are affected. The newer v2 “per‑mode keys” implementation does not have the problem, as it uses per‑super_block key structures.

Risk and Exploitability

The CVSS score of 7.8 rates the flaw as moderate‑high severity, but the EPSS score of < 1 % indicates a very low estimated exploitation probability at present. The vulnerability is not listed in the CISA KEV catalog. Based on the description, exploitation would require a user to create or manipulate files on a filesystem that employs the vulnerable direct‑key mode and then cause the kernel to release a key structure prematurely. Successful exploitation could result in kernel memory corruption, potentially leading to a crash or privilege escalation, so the impact is significant if the flaw is realized.

Generated by OpenCVE AI on August 14, 2026 at 01:43 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the patch adding the superblock check in find_or_insert_direct_key()
  • If an immediate update is unavailable, disable the legacy v1 fscrypt encryption policies or migrate to the newer per‑mode keys that use per‑super_block structures
  • As a last resort, apply the upstream patch manually to the kernel source, rebuild and deploy the updated kernel

Generated by OpenCVE AI on August 14, 2026 at 01:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 13 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H'}

cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Thu, 13 Aug 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-772
References
Metrics threat_severity

None

cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Important


Mon, 10 Aug 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: fscrypt: Add missing superblock check in find_or_insert_direct_key() The legacy 'fscrypt_direct_keys' table caches master keys that are used by v1 encryption policies that have FSCRYPT_POLICY_FLAG_DIRECT_KEY. It's just a global table for all filesystems (since the keys can be provided by the legacy process-subscribed keyrings mechanism, which makes it difficult to reuse super_block::s_master_keys). The entries in it ('struct fscrypt_direct_key') do contain a super_block pointer, though, for passing to fscrypt_destroy_inline_crypt_key() when the last inode that references the key is evicted. However, when finding the fscrypt_direct_key for an inode, we weren't actually comparing the super_block pointer. As a result, inodes with different super_blocks could point to the same fscrypt_direct_key. That could extend the lifetime of a fscrypt_direct_key beyond the super_block it points to, causing a use-after-free later. Fix this by creating distinct fscrypt_direct_key structs for distinct super_block structs. Note that this problem doesn't exist in the v2 policy equivalent ("per-mode keys"), since the data structures there are per super_block.
Title fscrypt: Add missing superblock check in find_or_insert_direct_key()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:30:13.417Z

Reserved: 2026-07-30T09:28:09.371Z

Link: CVE-2026-68148

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:00.737

Modified: 2026-08-19T17:20:32.097

Link: CVE-2026-68148

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-10T11:59:13Z

Links: CVE-2026-68148 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T01:45:08Z

Weaknesses
  • CWE-772

    Missing Release of Resource after Effective Lifetime