CVE-2021-39800
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Apr 12, 2022
CISA due date
—
Cloudanix analysis
A memory handling mistake in Android lets someone already on the device read internal system secrets without extra permissions.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Use-after-free in ion_ioctl allows reading kernel heap memory contents after deallocation, enabling local disclosure of sensitive kernel data.
Why it matters to the business
Local attackers on affected Android devices can extract kernel information that may assist further attacks or expose internal system details, increasing risk on unpatched devices still in use.
How an attack unfolds
An attacker with local access issues crafted ioctl operations against the ION driver to trigger the use-after-free and read residual kernel heap data without requiring elevated privileges or user interaction.
How to fix it
Apply Android kernel patches addressing A-208277166; upgrade to a maintained kernel release that eliminates the use-after-free in ion-ioctl.c.
How to confirm the fix worked
Review kernel source for upstream fixes in ion-ioctl.c, confirm absence of the vulnerable code path, and test that ioctl operations no longer expose freed memory.
Typical attack path
- Gain local user access on an Android device
- Open /dev/ion and issue malicious ioctl calls
- Trigger the use-after-free condition in ion_ioctl
- Read and parse leaked kernel heap contents for sensitive data
How to detect it
Monitor system logs and audit trails for repeated or anomalous ioctl activity targeting the ION driver; examine crash dumps or memory leak reports referencing ion-ioctl.c.
What your security team should do
- Prioritize patching Android devices with the latest kernel security updates
- Limit local untrusted code execution on high-value devices
- Audit custom kernels for backported fixes to ion memory handling
The record
In ion_ioctl of ion-ioctl.c, there is a possible way to leak kernel head data due to a use after free. This could lead to local information disclosure with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android kernelAndroid ID: A-208277166References: Upstream kernel
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Android | :linux_kernel: | :0 | :2022-04-05 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-iot | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | No fix |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | No fix |
| Ubuntu:24.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:24.04:LTS | linux-intel | 0 | No fix |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | No fix |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | No fix |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:24.10 | linux-realtime | 0 | No fix |
| Ubuntu:24.10 | linux-riscv | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-preview:22.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:18.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:20.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:22.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | linux-fips | 0 | No fix |
| Ubuntu:Pro:FIPS-updates:24.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:18.04:LTS | linux-gcp-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-aws-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-azure-fips | 0 | No fix |
| Ubuntu:Pro:FIPS:20.04:LTS | linux-gcp-fips | 0 | No fix |
Related vulnerabilities
- CVE-2025-38500 In the Linux kernel, the following vulnerability has been resolved: xfrm: interface: fix… Also affects :linux_kernel:
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects :linux_kernel:
- CVE-2025-38349 In the Linux kernel, the following vulnerability has been resolved: eventpoll: don't… Also affects :linux_kernel:
- CVE-2025-38236 In the Linux kernel, the following vulnerability has been resolved: af_unix: Don't leave… Also affects :linux_kernel:
- CVE-2025-21756 In the Linux kernel, the following vulnerability has been resolved: vsock: Keep the… Also affects :linux_kernel:
- CVE-2025-21701 In the Linux kernel, the following vulnerability has been resolved: net: avoid race… Also affects :linux_kernel:
- CVE-2024-56556 In the Linux kernel, the following vulnerability has been resolved: binder: fix node UAF… Also affects :linux_kernel:
- CVE-2024-53197 In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix… Also affects :linux_kernel: