{"api_version":"1","generated_at":"2026-10-26T09:28:12+00:00","cve":"CVE-2026-99075","urls":{"html":"https://cve.report/CVE-2026-99075","api":"https://cve.report/api/cve/CVE-2026-99075.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-99075","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-99075"},"summary":{"title":"rust_binder: reschedule node refcount update on thread exit","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nrust_binder: reschedule node refcount update on thread exit\n\nWhen a thread exits via BINDER_THREAD_EXIT, its pending work items are\ncancelled. If a thread exits while holding a pending node refcount\nincrement (e.g. pushed as deferred work to that thread), the refcount\nincrement was previously dropped because Node::cancel() and\nNodeWrapper::cancel() were no-ops.\n\nDropping the refcount update leaves the node's delivery state and count\nstate desynchronized, and userspace will not receive the notification,\nwhich can cause the node to never be freed from the process's nodes tree\nwhen all external references are dropped.\n\nFix this by implementing DeliverToRead::cancel() for Node and NodeWrapper\nto move the pending refcount update to the process's work queue on thread\nexit so another thread can deliver it to userspace.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-10-23 13:17:31","updated_at":"2026-10-23 13:17:31"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1","name":"https://git.kernel.org/stable/c/fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2a74ccd1bcc170e66525f34e9de8652b57e2cf3d","name":"https://git.kernel.org/stable/c/2a74ccd1bcc170e66525f34e9de8652b57e2cf3d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/71cbad138969edecef01b28dff87d91b56db538d","name":"https://git.kernel.org/stable/c/71cbad138969edecef01b28dff87d91b56db538d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-99075","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-99075","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected eafedbc7c050c44744fbdf80bdf3315e860b7513 71cbad138969edecef01b28dff87d91b56db538d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected eafedbc7c050c44744fbdf80bdf3315e860b7513 fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected eafedbc7c050c44744fbdf80bdf3315e860b7513 2a74ccd1bcc170e66525f34e9de8652b57e2cf3d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.57 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2.11 7.2.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/android/binder/node.rs","drivers/android/binder/node/wrapper.rs"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"71cbad138969edecef01b28dff87d91b56db538d","status":"affected","version":"eafedbc7c050c44744fbdf80bdf3315e860b7513","versionType":"git"},{"lessThan":"fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1","status":"affected","version":"eafedbc7c050c44744fbdf80bdf3315e860b7513","versionType":"git"},{"lessThan":"2a74ccd1bcc170e66525f34e9de8652b57e2cf3d","status":"affected","version":"eafedbc7c050c44744fbdf80bdf3315e860b7513","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/android/binder/node.rs","drivers/android/binder/node/wrapper.rs"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.18"},{"lessThan":"6.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.57","versionType":"semver"},{"lessThanOrEqual":"7.2.*","status":"unaffected","version":"7.2.11","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.57","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2.11","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.3","versionStartIncluding":"6.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nrust_binder: reschedule node refcount update on thread exit\n\nWhen a thread exits via BINDER_THREAD_EXIT, its pending work items are\ncancelled. If a thread exits while holding a pending node refcount\nincrement (e.g. pushed as deferred work to that thread), the refcount\nincrement was previously dropped because Node::cancel() and\nNodeWrapper::cancel() were no-ops.\n\nDropping the refcount update leaves the node's delivery state and count\nstate desynchronized, and userspace will not receive the notification,\nwhich can cause the node to never be freed from the process's nodes tree\nwhen all external references are dropped.\n\nFix this by implementing DeliverToRead::cancel() for Node and NodeWrapper\nto move the pending refcount update to the process's work queue on thread\nexit so another thread can deliver it to userspace."}],"providerMetadata":{"dateUpdated":"2026-10-23T12:23:18.830Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/71cbad138969edecef01b28dff87d91b56db538d"},{"url":"https://git.kernel.org/stable/c/fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1"},{"url":"https://git.kernel.org/stable/c/2a74ccd1bcc170e66525f34e9de8652b57e2cf3d"}],"title":"rust_binder: reschedule node refcount update on thread exit","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-99075","datePublished":"2026-10-23T12:23:18.830Z","dateReserved":"2026-09-25T10:25:14.389Z","dateUpdated":"2026-10-23T12:23:18.830Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-23 13:17:31","lastModifiedDate":"2026-10-23 13:17:31","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"99075","Ordinal":"1","Title":"rust_binder: reschedule node refcount update on thread exit","CVE":"CVE-2026-99075","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"99075","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nrust_binder: reschedule node refcount update on thread exit\n\nWhen a thread exits via BINDER_THREAD_EXIT, its pending work items are\ncancelled. If a thread exits while holding a pending node refcount\nincrement (e.g. pushed as deferred work to that thread), the refcount\nincrement was previously dropped because Node::cancel() and\nNodeWrapper::cancel() were no-ops.\n\nDropping the refcount update leaves the node's delivery state and count\nstate desynchronized, and userspace will not receive the notification,\nwhich can cause the node to never be freed from the process's nodes tree\nwhen all external references are dropped.\n\nFix this by implementing DeliverToRead::cancel() for Node and NodeWrapper\nto move the pending refcount update to the process's work queue on thread\nexit so another thread can deliver it to userspace.","Type":"Description","Title":"rust_binder: reschedule node refcount update on thread exit"}]}}}