Skip to content
Heist/ feed
Back to feed
UnratedFix available

rust_binder: reschedule node refcount update on thread exit

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: rust_binder: reschedule node refcount update on thread exit When a thread exits via BINDER_THREAD_EXIT, its pending work items are cancelled. If a thread exits while holding a pending node refcount increment (e.g. pushed as deferred work to that thread), the refcount increment was previously dropped because Node::cancel() and NodeWrapper::cancel() were no-ops. Dropping the refcount update leaves the node's delivery state and count state desynchronized, and userspace will not receive the notification, which can cause the node to never be freed from the process's nodes tree when all external references are dropped. Fix this by implementing DeliverToRead::cancel() for Node and NodeWrapper to move the pending refcount update to the process's work queue on thread exit so another thread can deliver it to userspace.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.18.57, 7.2.11
CVEs
CVE-2026-99075
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 12:33 UTC · Revision 1

Source evidence

rust_binder: reschedule node refcount update on thread exit

core-osv · Original source

Published 23 Oct 2026, 12:23 UTC

In the Linux kernel, the following vulnerability has been resolved: rust_binder: reschedule node refcount update on thread exit When a thread exits via BINDER_THREAD_EXIT, its pending work items are cancelled. If a thread exits while holding a pending node refcount increment (e.g. pushed as deferred work to that thread), the refcount increment was previously dropped because Node::cancel() and NodeWrapper::cancel() were no-ops. Dropping the refcount update leaves the node's delivery state and count state desynchronized, and userspace will not receive the notification, which can cause the node to never be freed from the process's nodes tree when all external references are dropped. Fix this by implementing DeliverToRead::cancel() for Node and NodeWrapper to move the pending refcount update to the process's work queue on thread exit so another thread can deliver it to userspace.

osv:CVE-2026-99075

Kernel

Fixed versions: 6.18.57, 7.2.11

Complete source record
{
  "id": "60af6988d2357d21487aded38dbe62b7853312859de2cb36c09511783d4afaab",
  "url": "https://osv.dev/vulnerability/CVE-2026-99075",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "rust_binder: reschedule node refcount update on thread exit",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: rust_binder: reschedule node refcount update on thread exit When a thread exits via BINDER_THREAD_EXIT, its pending work items are cancelled. If a thread exits while holding a pending node refcount increment (e.g. pushed as deferred work to that thread), the refcount increment was previously dropped because Node::cancel() and NodeWrapper::cancel() were no-ops. Dropping the refcount update leaves the node's delivery state and count state desynchronized, and userspace will not receive the notification, which can cause the node to never be freed from the process's nodes tree when all external references are dropped. Fix this by implementing DeliverToRead::cancel() for Node and NodeWrapper to move the pending refcount update to the process's work queue on thread exit so another thread can deliver it to userspace.",
    "evidence": "osv:CVE-2026-99075",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.18.57",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.11",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-99075",
      "aliases": [
        "CVE-2026-99075"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "eafedbc7c050c44744fbdf80bdf3315e860b7513"
                },
                {
                  "fixed": "71cbad138969edecef01b28dff87d91b56db538d"
                },
                {
                  "fixed": "fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1"
                },
                {
                  "fixed": "2a74ccd1bcc170e66525f34e9de8652b57e2cf3d"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-99075.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.18.0"
                },
                {
                  "fixed": "6.18.57"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.2.11"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-99075.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.588140588Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/2a74ccd1bcc170e66525f34e9de8652b57e2cf3d",
        "https://git.kernel.org/stable/c/71cbad138969edecef01b28dff87d91b56db538d",
        "https://git.kernel.org/stable/c/fb0f8dfc5a030ed3d60a1d03acdc99c90ee99fc1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/99xxx/CVE-2026-99075.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-99075",
        "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/99xxx/CVE-2026-99075.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-99075",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 495437,
  "published_at": "2026-10-23T12:23:18.83+00:00"
}