CVE-2026-74486 (GCVE-0-2026-74486)
Vulnerability from cvelistv5
Published
2026-08-15 12:27
Modified
2026-08-23 12:47
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
binfmt_misc: use exe_file_deny_write_access() for the interpreter clone
For MISC_FMT_OPEN_FILE entries load_misc_binary() clones the
registered interpreter file and denies write access to the clone via
plain deny_write_access(). The clone is installed as
bprm->interpreter and later released by the exec machinery through
exe_file_allow_write_access() which skips the i_writecount increment
for files with FMODE_FSNOTIFY_HSM set.
The deny and allow side can therefore come to different conclusions
when pre-content watches are in play: if a pre-content watch is added
to the interpreter after registration every subsequent exec through
that entry takes a write denial on the clone that is never paired
with a write allowance, driving the interpreter inode's i_writecount
further down with each exec and leaving the interpreter unwritable
even after the entry and all its users are gone.
Take the write denial via exe_file_deny_write_access() so both sides
of the pairing base their decision on the same file mode, and
propagate failure instead of silently ignoring it: an interpreter
that is concurrently open for writing now fails the exec with
ETXTBSY, exactly like an interpreter freshly opened via open_exec()
would.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 5b432413f7bbbc8b935138490a57be05c1921684 Version: bb4715098d8e340bbbdd3a874b31f89867c8067e Version: c152be5adc0975c75cc4f50891c9072d52d60b47 Version: bf5ed2ef5cdb7b47ce606e3d48ea6eb803b31503 Version: 483217fd6f7ccd98b3ed2531a54f75ed144b4499 Version: 0357ef03c94ef835bd44a0658b8edb672a9dbf51 Version: 0357ef03c94ef835bd44a0658b8edb672a9dbf51 Version: 0357ef03c94ef835bd44a0658b8edb672a9dbf51 |
||
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/binfmt_misc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "c65eb018c12179b5e2c7afe1f0956298576fecec",
"status": "affected",
"version": "5b432413f7bbbc8b935138490a57be05c1921684",
"versionType": "git"
},
{
"lessThan": "2bd860b7e752a51185960143cab9fec7bf32c84e",
"status": "affected",
"version": "bb4715098d8e340bbbdd3a874b31f89867c8067e",
"versionType": "git"
},
{
"lessThan": "eea4b7c7711b1e425272d23352af157f45f4c3e3",
"status": "affected",
"version": "c152be5adc0975c75cc4f50891c9072d52d60b47",
"versionType": "git"
},
{
"lessThan": "2fdf8b07bee5ef99ec77773a6be05fbb8ee5cdb9",
"status": "affected",
"version": "bf5ed2ef5cdb7b47ce606e3d48ea6eb803b31503",
"versionType": "git"
},
{
"lessThan": "f1e7ea3c8e070f19771cdaef55bbeda1359ad490",
"status": "affected",
"version": "483217fd6f7ccd98b3ed2531a54f75ed144b4499",
"versionType": "git"
},
{
"lessThan": "255a758697da87a205e072e0cfc35897b8f743b1",
"status": "affected",
"version": "0357ef03c94ef835bd44a0658b8edb672a9dbf51",
"versionType": "git"
},
{
"lessThan": "f0edbaf487e4653a680a7abb91c1df94cb7886aa",
"status": "affected",
"version": "0357ef03c94ef835bd44a0658b8edb672a9dbf51",
"versionType": "git"
},
{
"lessThan": "fa5990ca8fd917003e526036bcc50413edb9722c",
"status": "affected",
"version": "0357ef03c94ef835bd44a0658b8edb672a9dbf51",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/binfmt_misc.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.14"
},
{
"lessThan": "6.14",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.44",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.1.*",
"status": "unaffected",
"version": "7.1.8",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.44",
"versionStartIncluding": "6.14",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1.8",
"versionStartIncluding": "6.14",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2",
"versionStartIncluding": "6.14",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinfmt_misc: use exe_file_deny_write_access() for the interpreter clone\n\nFor MISC_FMT_OPEN_FILE entries load_misc_binary() clones the\nregistered interpreter file and denies write access to the clone via\nplain deny_write_access(). The clone is installed as\nbprm-\u003einterpreter and later released by the exec machinery through\nexe_file_allow_write_access() which skips the i_writecount increment\nfor files with FMODE_FSNOTIFY_HSM set.\n\nThe deny and allow side can therefore come to different conclusions\nwhen pre-content watches are in play: if a pre-content watch is added\nto the interpreter after registration every subsequent exec through\nthat entry takes a write denial on the clone that is never paired\nwith a write allowance, driving the interpreter inode\u0027s i_writecount\nfurther down with each exec and leaving the interpreter unwritable\neven after the entry and all its users are gone.\n\nTake the write denial via exe_file_deny_write_access() so both sides\nof the pairing base their decision on the same file mode, and\npropagate failure instead of silently ignoring it: an interpreter\nthat is concurrently open for writing now fails the exec with\nETXTBSY, exactly like an interpreter freshly opened via open_exec()\nwould."
}
],
"providerMetadata": {
"dateUpdated": "2026-08-23T12:47:25.566Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/c65eb018c12179b5e2c7afe1f0956298576fecec"
},
{
"url": "https://git.kernel.org/stable/c/2bd860b7e752a51185960143cab9fec7bf32c84e"
},
{
"url": "https://git.kernel.org/stable/c/eea4b7c7711b1e425272d23352af157f45f4c3e3"
},
{
"url": "https://git.kernel.org/stable/c/2fdf8b07bee5ef99ec77773a6be05fbb8ee5cdb9"
},
{
"url": "https://git.kernel.org/stable/c/f1e7ea3c8e070f19771cdaef55bbeda1359ad490"
},
{
"url": "https://git.kernel.org/stable/c/255a758697da87a205e072e0cfc35897b8f743b1"
},
{
"url": "https://git.kernel.org/stable/c/f0edbaf487e4653a680a7abb91c1df94cb7886aa"
},
{
"url": "https://git.kernel.org/stable/c/fa5990ca8fd917003e526036bcc50413edb9722c"
}
],
"title": "binfmt_misc: use exe_file_deny_write_access() for the interpreter clone",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-74486",
"datePublished": "2026-08-15T12:27:17.609Z",
"dateReserved": "2026-08-15T05:44:03.905Z",
"dateUpdated": "2026-08-23T12:47:25.566Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…