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

binfmt_misc: reject a flag character as the field delimiter

The registration string starts with a user chosen delimiter that
separates the individual fields. So that the field parsers terminate
even on a truncated string create_entry() pads the buffer with that
same delimiter:

memset(buf + count, del, 8);

Most fields are scanned for the delimiter with strchr()/scanarg() and
happily stop on the padding. The flags field is different: instead of
scanning for the delimiter check_special_flags() consumes the flag
characters 'P', 'O', 'C' and 'F' and stops at the first byte that is
none of them, relying on the trailing delimiter to end the scan.

If the delimiter is itself a flag character the padding no longer acts
as a terminator. The scan swallows all eight padding bytes and keeps
reading past the end of the allocation until it hits a byte that is
not a flag character. For example registering

PaPEPPxPPiP

with 'P' as the delimiter (name "a", type extension, magic "x",
interpreter "i", empty flags) leaves the flag scan running off the end
of the buffer. The registration is rejected in the end because the
parser does not stop exactly at buf + count, but only after the out of
bounds read has already happened. With an unlucky allocation layout the
scan can walk into an unmapped page; under KASAN it is reported as a
slab out of bounds read. binfmt_misc mounts are available to
unprivileged users in a user namespace so the read is reachable without
privileges.

Reject a delimiter that is one of the flag characters up front. Such a
registration was always rejected anyway, only after the out of bounds
read, so no valid registration string changes meaning.
Published: 2026-08-15
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

During binfmt_misc handler registration, if the delimiter used to split fields is also one of the flag characters, the parser misinterprets the padded buffer. The flag parser consumes only flag characters and expects the trailing delimiter to terminate the scan. When the delimiter is a flag character, the padding no longer marks a boundary, causing the parser to read past the buffer end. This results in an out-of-bounds read of kernel memory, which may reveal sensitive data or, with an unlucky memory layout, touch unmapped pages and trigger a kernel crash. No privilege escalation or code execution is achieved; the attack is limited to local memory disclosure and potential instability.

Affected Systems

Based on the description, it is inferred that all Linux kernel releases prior to the patch that rejects flag characters as valid delimiters are affected. The flaw is present whenever a binfmt_misc mount is available to unprivileged users within a user namespace, allowing local users to create a handler. The vulnerability is not tied to a specific exact version, so any kernel that exposes binfmt_misc in this fashion is likely impacted until the patch is applied.

Risk and Exploitability

The CVSS score of 7.1 indicates high severity, while the EPSS score of <1% signifies a very low exploitation likelihood. The vulnerability is local – an attacker must be able to run code on the target machine, such as a local user in a user namespace, and must craft a registration string with a delimiter that is a flag character. In practice, this limits exposure to systems where binfmt_misc mounts are permissively configured for unprivileged users. The risk is primarily confidentiality leakage of kernel memory and a moderate availability impact if an access failure occurs. Because the vulnerability is not remote and does not grant elevated privileges, it is considered a lower overall threat than remote code execution flaws but still warrants timely remediation.

Generated by OpenCVE AI on August 21, 2026 at 21:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the binfmt_misc patch rejecting flag characters as delimiters
  • Reboot the system so the updated kernel image takes effect
  • If a kernel upgrade cannot be applied immediately, restrict binfmt_misc mounts to privileged users or disable binfmt_misc for typical users; alternatively, limit user namespaces from creating binfmt_misc instances
  • Consider tightening permissions on /proc/sys/fs/binfmt_misc to prevent unprivileged creation of new handlers

Generated by OpenCVE AI on August 21, 2026 at 21:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Thu, 20 Aug 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Wed, 19 Aug 2026 17:00:00 +0000


Mon, 17 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-125

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-125

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: reject a flag character as the field delimiter The registration string starts with a user chosen delimiter that separates the individual fields. So that the field parsers terminate even on a truncated string create_entry() pads the buffer with that same delimiter: memset(buf + count, del, 8); Most fields are scanned for the delimiter with strchr()/scanarg() and happily stop on the padding. The flags field is different: instead of scanning for the delimiter check_special_flags() consumes the flag characters 'P', 'O', 'C' and 'F' and stops at the first byte that is none of them, relying on the trailing delimiter to end the scan. If the delimiter is itself a flag character the padding no longer acts as a terminator. The scan swallows all eight padding bytes and keeps reading past the end of the allocation until it hits a byte that is not a flag character. For example registering PaPEPPxPPiP with 'P' as the delimiter (name "a", type extension, magic "x", interpreter "i", empty flags) leaves the flag scan running off the end of the buffer. The registration is rejected in the end because the parser does not stop exactly at buf + count, but only after the out of bounds read has already happened. With an unlucky allocation layout the scan can walk into an unmapped page; under KASAN it is reported as a slab out of bounds read. binfmt_misc mounts are available to unprivileged users in a user namespace so the read is reachable without privileges. Reject a delimiter that is one of the flag characters up front. Such a registration was always rejected anyway, only after the out of bounds read, so no valid registration string changes meaning.
Title binfmt_misc: reject a flag character as the field delimiter
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:37:40.898Z

Reserved: 2026-08-15T05:44:03.905Z

Link: CVE-2026-74485

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:53.380

Modified: 2026-08-19T17:21:05.660

Link: CVE-2026-74485

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74485 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T22:00:15Z

Weaknesses