Linux: binder: fix is_failure flag for superseded transaction cleanup
What fixes it
- 60a9f7323ae7318a7cce0d387c318da24f1e8726LinuxCVE List
- 86cdcc87d4ba60aebf94ba3346b3c900c5cd79ffLinuxCVE List
- 1ab671b50714ad8e359cf37eb041d8044319ccdcLinuxCVE List
- 22c135635fdd9816c0ef140d6de7b2e4fdf73e89LinuxCVE 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 is_failure flag for superseded transaction cleanup
When a TF_UPDATE_TXN transaction supersedes a pending async transaction, binder_release_entire_buffer() is called with is_failure=false. Since the superseded transaction was never delivered, binder_apply_fd_fixups() was never called and no fds were installed in the target process.
With is_failure=false, the BINDER_TYPE_FDA cleanup handler interprets stale buffer contents as installed fd numbers and passes them to binder_deferred_fd_close(), closing unrelated file descriptors.
Pass is_failure=true since the transaction was never delivered to the target, matching the semantics of all other undelivered-transaction cleanup paths.
Text from CVE List
Affected versions 12
- Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before e9b364e46d594c2ec663c9c49f10c1ca541ecc0fCVE List
- Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 60a9f7323ae7318a7cce0d387c318da24f1e8726CVE List
- Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 86cdcc87d4ba60aebf94ba3346b3c900c5cd79ffCVE List
- Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 1ab671b50714ad8e359cf37eb041d8044319ccdcCVE List
- Linuxaffected: 9864bb4801331daa48514face9d0f4861e4d485b before 22c135635fdd9816c0ef140d6de7b2e4fdf73e89CVE 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
- git.kernel.org/stable/c/e9b364e46d594c2ec663c9c49f10c1ca541ecc0fReferencevia CVE List
- git.kernel.org/stable/c/60a9f7323ae7318a7cce0d387c318da24f1e8726Referencevia CVE List
- git.kernel.org/stable/c/86cdcc87d4ba60aebf94ba3346b3c900c5cd79ffReferencevia CVE List
- git.kernel.org/stable/c/1ab671b50714ad8e359cf37eb041d8044319ccdcReferencevia CVE List
- git.kernel.org/stable/c/22c135635fdd9816c0ef140d6de7b2e4fdf73e89Referencevia CVE List