CVE-2021-46935

Medium

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.

SeverityMedium
CVSS5.5
Exploit probability—
ProductLinux Kernel
PublishedFeb 27, 2024
First seenFeb 27, 2024

How to fix

Update
  • linux linux_kernel4.14.261, 4.19.224, 5.4.170, 5.10.90, 5.15.13 or later

Affected products

ProductAffected versionsFixed in
linux linux_kernel4.14.0 ≤ v < 4.14.261, 4.15.0 ≤ v < 4.19.224, 4.20.0 ≤ v < 5.4.170, 5.5.0 ≤ v < 5.10.90, 5.11.0 ≤ v < 5.15.134.14.261, 4.19.224, 5.4.170, 5.10.90, 5.15.13

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.