All vulnerabilities
CVE-2026-98777

Linux: binder: fix leaked fd fixups on TF_UPDATE_TXN supersede

Linux LinuxOperating systems
CVSS
NoneNot scored
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.17%Chance of exploitation activity in the next 30 days, higher than 5% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55Also 1299cb3fb061598496086fc87ff291057831148e, 6673f4f21e2fddfed0abe1eb9045cc958e6db130CVE List
Published18 Oct 2026Updated 21 Oct 2026CVE List

What fixes it

  • 7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55LinuxCVE List
  • 1299cb3fb061598496086fc87ff291057831148eLinuxCVE List
  • 6673f4f21e2fddfed0abe1eb9045cc958e6db130LinuxCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 12

  • Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before a7329ea53d04f0c6135d02905810cd6f42acdf45CVE List
  • Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55CVE List
  • Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 1299cb3fb061598496086fc87ff291057831148eCVE List
  • Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 6673f4f21e2fddfed0abe1eb9045cc958e6db130CVE List
  • Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before c4c02084d6687d5cd5edccaf52cc45e5160f1184CVE List
  • Linuxaffected: 6.0CVE List
  • Linuxunaffected: all versions before 6.0CVE List
  • Linuxunaffected: 6.6.160 through 6.6.*CVE List
  • Linuxunaffected: 6.12.113 through 6.12.*CVE List
  • Linuxunaffected: 6.18.56 through 6.18.*CVE List
  • Linuxunaffected: 7.2.10 through 7.2.*CVE List
  • Linuxunaffected: 7.3CVE List

References 5