Bug 2502422 (CVE-2026-63952)

Summary: CVE-2026-63952 kernel: memfd: deny writeable mappings when implying SEAL_WRITE
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: rhel-process-autobot, watson-tool-maintainers
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the Linux kernel's `memfd` component. When the `SEAL_EXEC` flag is used to create a memory file descriptor, the `SEAL_WRITE` flag is implicitly applied to prevent writing to executable memory. However, this implicit write protection is applied after checks that should deny writable mappings, allowing an attacker to maintain writable access to a `memfd` that appears to be write-sealed. This vulnerability could allow a local attacker to arbitrarily modify memory, potentially leading to privilege escalation or other impacts.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-07-19 16:07:18 UTC
In the Linux kernel, the following vulnerability has been resolved:

memfd: deny writeable mappings when implying SEAL_WRITE

When SEAL_EXEC is added, SEAL_WRITE is implied to make W^X.  But the
implied seal is set after the check that makes sure the memfd can not have
any writable mappings.  This means one can use SEAL_EXEC to apply
SEAL_WRITE while having writeable mappings.

This breaks the contract that SEAL_WRITE provides and can be used by an
attacker to pass a memfd that appears to be write sealed but can still be
modified arbitrarily.

Fix this by adding the implied seals before the call for
mapping_deny_writable() is done.

Comment 1 Mauro Matteo Cascella 2026-07-21 17:21:10 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2026071955-CVE-2026-63952-0c7b@gregkh/T