binfmt_misc: restore write access when removing an entry
In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: restore write access when removing an entry Registering an entry with the MISC_FMT_OPEN_FILE flag opens the interpreter via open_exec() which denies write access to it for as long as the entry exists. Removing the entry closes the interpreter file via filp_close() but never restores write access, leaving the inode's i_writecount permanently negative. Opening the interpreter for writing keeps failing with ETXTBSY long after the entry is gone until the inode is evicted from the inode cache. Commit 90f601b497d7 ("binfmt_misc: restore write access before closing files opened by open_exec()") fixed the same imbalance in the error path of bm_register_write() but the actual removal path has been leaking the write denial since the introduction of the flag. Restore write access in put_binfmt_handler() before closing the interpreter file.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.266, 5.15.217, 6.1.184, 6.12.105, 6.18.44, 6.6.153, 7.1.8
- CVEs
- CVE-2026-74487
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 14:24 UTC · Revision 1
Source evidence
binfmt_misc: restore write access when removing an entry
core-osv · Original sourcePublished 15 Aug 2026, 12:27 UTC
In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: restore write access when removing an entry Registering an entry with the MISC_FMT_OPEN_FILE flag opens the interpreter via open_exec() which denies write access to it for as long as the entry exists. Removing the entry closes the interpreter file via filp_close() but never restores write access, leaving the inode's i_writecount permanently negative. Opening the interpreter for writing keeps failing with ETXTBSY long after the entry is gone until the inode is evicted from the inode cache. Commit 90f601b497d7 ("binfmt_misc: restore write access before closing files opened by open_exec()") fixed the same imbalance in the error path of bm_register_write() but the actual removal path has been leaking the write denial since the introduction of the flag. Restore write access in put_binfmt_handler() before closing the interpreter file.
osv:CVE-2026-74487
Kernel
Fixed versions: 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, 6.18.44, 7.1.8
Complete source record
{
"id": "0214414cb9d910b5e42e5d1a86777892923aa3d4a07875eb718e2c3935b5b634",
"url": "https://osv.dev/vulnerability/CVE-2026-74487",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "binfmt_misc: restore write access when removing an entry",
"summary": "In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: restore write access when removing an entry Registering an entry with the MISC_FMT_OPEN_FILE flag opens the interpreter via open_exec() which denies write access to it for as long as the entry exists. Removing the entry closes the interpreter file via filp_close() but never restores write access, leaving the inode's i_writecount permanently negative. Opening the interpreter for writing keeps failing with ETXTBSY long after the entry is gone until the inode is evicted from the inode cache. Commit 90f601b497d7 (\"binfmt_misc: restore write access before closing files opened by open_exec()\") fixed the same imbalance in the error path of bm_register_write() but the actual removal path has been leaking the write denial since the introduction of the flag. Restore write access in put_binfmt_handler() before closing the interpreter file.",
"evidence": "osv:CVE-2026-74487",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.266",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.217",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.184",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.153",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.105",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.44",
"evidence": "/affected/1/ranges"
},
{
"value": "7.1.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-74487",
"aliases": [
"CVE-2026-74487"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "948b701a607f123df92ed29084413e5dd8cda2ed"
},
{
"fixed": "7873f987213695e3564c8c259e6db283e4739472"
},
{
"fixed": "13efc628fdf641d901bdba07caa1c558e1bed046"
},
{
"fixed": "f1cf67f6be0babc73afa4ee0e27bdedffeeeb095"
},
{
"fixed": "dd9ba32169e73a3c3ba595cf1de1f4c69ceafb3c"
},
{
"fixed": "a50296cca2a1db9d8d21051e7d50f0cf3a4b7ec8"
},
{
"fixed": "fdc1d702bf3001586221fa07e598e876a0a854c5"
},
{
"fixed": "3b522487a3a9162b1b519eefde7998d103e3e07b"
},
{
"fixed": "db1856ea9196cf6e015d12199a34c0b9313c7bfa"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74487.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "4.8.0"
},
{
"fixed": "5.10.266"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.217"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.184"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.153"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.105"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.44"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.1.8"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-74487.json"
}
}
],
"modified": "2026-10-28T02:30:29.391742106Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/13efc628fdf641d901bdba07caa1c558e1bed046",
"https://git.kernel.org/stable/c/3b522487a3a9162b1b519eefde7998d103e3e07b",
"https://git.kernel.org/stable/c/7873f987213695e3564c8c259e6db283e4739472",
"https://git.kernel.org/stable/c/a50296cca2a1db9d8d21051e7d50f0cf3a4b7ec8",
"https://git.kernel.org/stable/c/db1856ea9196cf6e015d12199a34c0b9313c7bfa",
"https://git.kernel.org/stable/c/dd9ba32169e73a3c3ba595cf1de1f4c69ceafb3c",
"https://git.kernel.org/stable/c/f1cf67f6be0babc73afa4ee0e27bdedffeeeb095",
"https://git.kernel.org/stable/c/fdc1d702bf3001586221fa07e598e876a0a854c5",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74487.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-74487",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/74xxx/CVE-2026-74487.json"
}
},
"related_cves": [
{
"value": "CVE-2026-74487",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 496362,
"published_at": "2026-08-15T12:27:18.236+00:00"
}