CVEvulnerability
CVE-2026-98777
- Status
- Received
- Published
- 2026-10-18
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
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.
References
- https://git.kernel.org/stable/c/1299cb3fb061598496086fc87ff291057831148e git.kernel.org
- https://git.kernel.org/stable/c/6673f4f21e2fddfed0abe1eb9045cc958e6db130 git.kernel.org
- https://git.kernel.org/stable/c/7fd609fb0e9dcbc4d7a1e4da1af5368c0555ff55 git.kernel.org
- https://git.kernel.org/stable/c/a7329ea53d04f0c6135d02905810cd6f42acdf45 git.kernel.org
- https://git.kernel.org/stable/c/c4c02084d6687d5cd5edccaf52cc45e5160f1184 git.kernel.org