CVE-2021-46935

binder: fix async_free_space accounting for empty parcels

State
Published
Severity
Not scored
Published
Feb 27, 2024
Updated
May 11, 2026
Reserved
Feb 25, 2024

Read the record on cve.org

Description

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

binder: fix async_free_space accounting for empty parcels

In 4.13, commit 74310e06be4d ("android: binder: Move buffer out of area shared with user space") fixed a kernel structure visibility issue. As part of that patch, sizeof(void *) was used as the buffer size for 0-length data payloads so the driver could detect abusive clients sending 0-length asynchronous transactions to a server by enforcing limits on async_free_size.

Unfortunately, on the "free" side, the accounting of async_free_space did not add the sizeof(void *) back. The result was that up to 8-bytes of async_free_space were leaked on every async transaction of 8-bytes or less. These small transactions are uncommon, so this accounting issue has gone undetected for several years.

The fix is to use "buffer_size" (the allocated buffer size) instead of "size" (the logical buffer size) when updating the async_free_space during the free operation. These are the same except for this corner case of asynchronous transactions with payloads < 8 bytes.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before 2d2df539d05205fd83c404d5f2dff48d36f9b495Affected
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before 7c7064402609aeb6fb11be1b4ec10673ff17b593Affected
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before 103b16a8c51f96d5fe063022869ea906c256e5daAffected
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before 1cb8444f3114f0bb2f6e3bcadcf09aa4a28425d4Affected
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before 17691bada6b2f1d5f1c0f6d28cd9d0727023b0ffAffected
  • 74310e06be4d74dcf67cd108366710dee5c576d5 to before cfd0d84ba28c18b531648c9d4a35ecca89ad9901Affected
LinuxLinux
  • 4.14Affected
  • before 4.14Not affected
  • 4.14.261 through 4.14.*Not affected
  • 4.19.224 through 4.19.*Not affected
  • 5.4.170 through 5.4.*Not affected
  • 5.10.90 through 5.10.*Not affected
  • 5.15.13 through 5.15.*Not affected
  • 5.16 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.