264 lines
15 KiB
JSON
264 lines
15 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-64469",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-07-19T15:36:31.790Z",
|
|
"datePublished": "2026-07-25T08:51:34.025Z",
|
|
"dateUpdated": "2026-08-17T04:56:14.927Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-17T04:56:14.927Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinder: fix UAF in binder_thread_release()\n\nWhen a thread exits, binder_thread_release() walks its transaction stack\nto clear the t->from and t->to_proc that correspond with the exiting\nthread. However, a process dying in parallel might attempt to kfree some\nof these transactions. And if one of them has no associated t->to_proc,\nthe t->to_proc->inner_lock will not be acquired.\n\nThis means that transaction accesses in binder_thread_release() after\nt->to_proc has been cleared might race with binder_free_transaction()\nand cause a use-after-free error as reported by KASAN:\n\n ==================================================================\n BUG: KASAN: slab-use-after-free in binder_thread_release+0x5d0/0x798\n Write of size 8 at addr ffff000016627500 by task X/715\n\n CPU: 17 UID: 0 PID: 715 Comm: X Not tainted 7.1.0-rc5-00149-g8fde5d1d47f6 #30 PREEMPT\n Hardware name: linux,dummy-virt (DT)\n Call trace:\n binder_thread_release+0x5d0/0x798\n binder_ioctl+0x12c0/0x299c\n [...]\n\n Allocated by task 717 on cpu 18 at 67.267803s:\n __kasan_kmalloc+0xa0/0xbc\n __kmalloc_cache_noprof+0x174/0x444\n binder_transaction+0x554/0x8150\n binder_thread_write+0xa30/0x4354\n binder_ioctl+0x20f0/0x299c\n [...]\n\n Freed by task 202 on cpu 18 at 90.416221s:\n __kasan_slab_free+0x58/0x80\n kfree+0x1a0/0x4a4\n binder_free_transaction+0x150/0x294\n binder_send_failed_reply+0x398/0x6d8\n binder_release_work+0x3e4/0x4ec\n binder_deferred_func+0xbd8/0x104c\n [...]\n ==================================================================\n\nIn order to avoid this, make sure that binder_free_transaction() reads\nthe t->to_proc under the transaction lock. This will serialize the\ntransaction release with the accesses in binder_thread_release(). Plus,\nit matches the documented locking rules for @to_proc."
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
|
"baseScore": 7.8,
|
|
"baseSeverity": "HIGH"
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"lang": "en",
|
|
"value": "AV:L - Exploitation is reached through local Binder device ioctls, including BINDER_WRITE_READ and BINDER_THREAD_EXIT, rather than network input.\nAC:L - The attacker can control the communicating processes, nested synchronous transactions, thread exit, and concurrent target-process death, allowing repeated attempts at the race.\nPR:L - No capability check protects the vulnerable ioctls; ordinary Android applications can access Binder, and unprivileged user-namespace root can create private Binder devices through BinderFS.\nUI:N - The attacker directly creates the transaction stack and triggers both teardown paths without requiring any victim action.\nS:U - Exploitation compromises the kernel hosting the vulnerable Binder subsystem and constitutes standard local privilege escalation within the same security authority.\nC:H - The freed binder_transaction can be reclaimed with attacker-influenced contents, enabling kernel-memory access primitives and ultimately disclosure of arbitrary kernel or process memory.\nI:H - binder_thread_release() continues writing through the freed transaction, including pointer fields and the attacker-influenceable t->buffer path, permitting kernel-memory corruption and potential arbitrary write or code execution.\nA:H - The UAF can directly cause a kernel oops or panic and can be triggered repeatedly by an unprivileged local attacker."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/android/binder.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "1f96f8c0a6ed4f6d01d3dd29ad0cbf08dde96082",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "df1a17abba8d6fac5f965adcb8113ceace6e4949",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "38e1a71728e5795b670cc159c18e286a40aeebb4",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "faa070c7ad8ba25dcd0b12d7cdbb419e336f5391",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "e63032dc715026a96bcaa13d375a8e15c91caa84",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "ea02df466df60ecd758eb3b4df3f0cadc5c886ce",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "ef5439ba5b9ac93349f5df12ef88b42a0ce26340",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "7a4408c6bd3eb1dafba67986259191be081e3efb",
|
|
"lessThan": "114a116aaa5f0295376cdf12da743c5bce3b20ce",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/android/binder.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "4.14",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "4.14",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.10.261",
|
|
"lessThanOrEqual": "5.10.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.15.212",
|
|
"lessThanOrEqual": "5.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.1.178",
|
|
"lessThanOrEqual": "6.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.6.145",
|
|
"lessThanOrEqual": "6.6.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.12.96",
|
|
"lessThanOrEqual": "6.12.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.18.39",
|
|
"lessThanOrEqual": "6.18.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.1.4",
|
|
"lessThanOrEqual": "7.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.2",
|
|
"lessThanOrEqual": "*",
|
|
"status": "unaffected",
|
|
"versionType": "original_commit_for_fix"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"cpeApplicability": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "5.10.261"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "5.15.212"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "6.1.178"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "6.6.145"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "6.12.96"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "6.18.39"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "7.1.4"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.14",
|
|
"versionEndExcluding": "7.2"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/1f96f8c0a6ed4f6d01d3dd29ad0cbf08dde96082"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/df1a17abba8d6fac5f965adcb8113ceace6e4949"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/38e1a71728e5795b670cc159c18e286a40aeebb4"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/faa070c7ad8ba25dcd0b12d7cdbb419e336f5391"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/e63032dc715026a96bcaa13d375a8e15c91caa84"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/ea02df466df60ecd758eb3b4df3f0cadc5c886ce"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/ef5439ba5b9ac93349f5df12ef88b42a0ce26340"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/114a116aaa5f0295376cdf12da743c5bce3b20ce"
|
|
}
|
|
],
|
|
"title": "binder: fix UAF in binder_thread_release()",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |