CVE-2026-98777

Status: ReceivedUnscored—
Severity—Unscored
Exploitation probability0.17 %higher than 6% of CVEs
Active exploitationNonot in the CISA catalog
Public exploitNot knownno public code found

In the Linux kernel, the following vulnerability has been resolved:

binder: fix leaked fd fixups on TF_UPDATE_TXN supersede

When a TF_UPDATE_TXN transaction supersedes a pending async transaction in a frozen process, the outdated transaction is freed with kfree() directly. This skips binder_free_txn_fixups(), leaking all binder_txn_fd_fixup entries and their fget()'d struct file references.

The leaked file refcounts never reach zero, so the struct file objects are permanently pinned in memory. They survive process exit and accumulate across invocations until file-max exhaustion.

Every other transaction cleanup path (binder_free_transaction(), binder_transaction() error paths, binder_release_work()) correctly calls binder_free_txn_fixups(). Add the missing call before kfree() in the t_outdated cleanup block.

CVSS

NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).

Exploitation probability (EPSS)

Probability of exploitation in the next 30 days
0.17 %
Percentile among all scored CVEs
6
Score date
10/20/2026

EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).

Affected technologies (1)

⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.

References

Show 4 references

Raw JSON (NVD)

Show
{
  "id": "CVE-2026-98777",
  "cveTags": [],
  "metrics": {},
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "9864bb4801331daa48514face9d0f4861e4d485b",
              "lessThan": "7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9864bb4801331daa48514face9d0f4861e4d485b",
              "lessThan": "1299cb3fb061598496086fc87ff291057831148e",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9864bb4801331daa48514face9d0f4861e4d485b",
              "lessThan": "6673f4f21e2fddfed0abe1eb9045cc958e6db130",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9864bb4801331daa48514face9d0f4861e4d485b",
              "lessThan": "c4c02084d6687d5cd5edccaf52cc45e5160f1184",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/android/binder.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.0"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.0",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.12.113",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.56",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/android/binder.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:31.657",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1299cb3fb061598496086fc87ff291057831148e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6673f4f21e2fddfed0abe1eb9045cc958e6db130",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c4c02084d6687d5cd5edccaf52cc45e5160f1184",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbinder: fix leaked fd fixups on TF_UPDATE_TXN supersede\n\nWhen a TF_UPDATE_TXN transaction supersedes a pending async transaction\nin a frozen process, the outdated transaction is freed with kfree()\ndirectly. This skips binder_free_txn_fixups(), leaking all\nbinder_txn_fd_fixup entries and their fget()'d struct file references.\n\nThe leaked file refcounts never reach zero, so the struct file objects\nare permanently pinned in memory. They survive process exit and\naccumulate across invocations until file-max exhaustion.\n\nEvery other transaction cleanup path (binder_free_transaction(),\nbinder_transaction() error paths, binder_release_work()) correctly\ncalls binder_free_txn_fixups(). Add the missing call before kfree()\nin the t_outdated cleanup block."
    }
  ],
  "lastModified": "2026-10-19T10:19:41.807",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}