CVE-2021-46935

MediumCVSS 5.5/10Last modified Jun 17, 2026

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.

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

Weakness enumeration

Affected software

VendorProductVersions
LinuxLinux>= 74310e06be4d74dcf67cd108366710dee5c576d5, < 2d2df539d05205fd83c404d5f2dff48d36f9b495; >= 74310e06be4d74dcf67cd108366710dee5c576d5, < 7c7064402609aeb6fb11be1b4ec10673ff17b593; >= 74310e06be4d74dcf67cd108366710dee5c576d5, < 103b16a8c51f96d5fe063022869ea906c256e5da; >= 74310e06be4d74dcf67cd108366710dee5c576d5, < 1cb8444f3114f0bb2f6e3bcadcf09aa4a28425d4; >= 74310e06be4d74dcf67cd108366710dee5c576d5, < 17691bada6b2f1d5f1c0f6d28cd9d0727023b0ff; >= 74310e06be4d74dcf67cd108366710dee5c576d5, < cfd0d84ba28c18b531648c9d4a35ecca89ad9901
LinuxLinux4.14

References

Timeline

Published
Feb 27, 2024
Last modified
Jun 17, 2026
NVD status
Modified

Related CVEs from 2021

CVE-2021-469367.8In the Linux kernel, the following vulnerability has been resolved: net: fix use-after-free in tw_timer_handler A real world panic issue wCVE-2021-469375.5In the Linux kernel, the following vulnerability has been resolved: mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' DCVE-2021-469387.8In the Linux kernel, the following vulnerability has been resolved: dm rq: fix double free of blk_mq_tag_set in dev remove after table loadCVE-2021-469395.5In the Linux kernel, the following vulnerability has been resolved: tracing: Restructure trace_clock_global() to never block It was reportCVE-2021-469405.5In the Linux kernel, the following vulnerability has been resolved: tools/power turbostat: Fix offset overflow issue in index converting TCVE-2021-469415.5In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: core: Do core softreset when switch mode According to the CVE-2021-469425.5In the Linux kernel, the following vulnerability has been resolved: io_uring: fix shared sqpoll cancellation hangs [ 736.982891] INFO: taCVE-2021-469437.8In the Linux kernel, the following vulnerability has been resolved: media: staging/intel-ipu3: Fix set_fmt error handling If there in an eCVE-2021-469445.5In the Linux kernel, the following vulnerability has been resolved: media: staging/intel-ipu3: Fix memory leak in imu_fmt We are losing thCVE-2021-469455.5In the Linux kernel, the following vulnerability has been resolved: ext4: always panic when errors=panic is specified Before commit 014c9cCVE-2021-469475.5In the Linux kernel, the following vulnerability has been resolved: sfc: adjust efx->xdp_tx_queue_count with the real number of initializedCVE-2021-469485.5In the Linux kernel, the following vulnerability has been resolved: sfc: farch: fix TX queue lookup in TX event handling We're starting fr
CVE-2021-46935: Medium severity, CVSS 5.5 | Vulnix