CVE-2026-68186

CVE-2026-68186

published August 10, 2026

CVSS
—
EPSS
0%
Percentile
11.4
In the wild
Unconfirmed
What it is

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

binfmt_misc: set have_execfd only once the interpreter is opened

load_misc_binary() raises bprm->have_execfd as soon as it sees the 'O'

(or 'C') flag. This happens well before it opens the interpreter. If

that open fails the flag stays set on the bprm. binfmt_misc is at the

head of the format list so an interpreter open failure that returns

-ENOEXEC lets the search fall through to a later format. This means it

runs the matched binary directly having never staged an interpreter. So

bprm->executable is NULL while have_execfd falsely claims a descriptor

is present.

Consequently, begin_new_exec() dereferences the missing executable:

would_dump(bprm, bprm->executable);

and NULL derefs. Had it not, the hand-off later in the same function

would have failed anyway. FD_ADD(0, bprm->executable) rejects a NULL

file with -ENOMEM. Both sites are past the point of no return so the

exec cannot be unwound either way.

This can be reached by unprivileged users as binfmt_misc can be mounted

in user namespaces. So a user can register an 'O' entry whose

interpreter lives on a FUSE mount, have the FUSE server fail the open

with -ENOEXEC and execute a native ELF file that matches the entry.

have_execfd only means anything alongside the executable it describes

which is not set until the interpreter has been opened and staged.

So lets raise it there, next to execfd_creds, which is already set at

that point. An open failure now leaves it clear, so the fallback format

derives credentials from the binary and emits no AT_EXECFD, as it would

for any native exec. The argv rewrite load_misc_binary() performs before

the open is still not undone. This means the binary sees the interpreter

path in argv[0] and its own path in argv[1] but that predates this

change and only became observable once the exec stopped faulting.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00216 · 11.4th percentile
Published
2026-08-10T17:20Z
References (8)
EPSS history
Timeline
  • 10 AUG 11:59Z
    binfmt_misc: set have_execfd only once the interpreter is opened
    cvelistv5