CVE-2021-47505

7.8 HIGH

📋 TL;DR

This Linux kernel vulnerability allows use-after-free attacks when using asynchronous I/O (aio) polling with signalfd or binder file descriptors. Attackers could potentially crash the system or execute arbitrary code with kernel privileges. Systems running Linux kernel versions 4.18 through affected patched versions are vulnerable.

💻 Affected Systems

Products:
  • Linux Kernel
Versions: Linux kernel versions 4.18 through affected patched versions
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires aio polling with signalfd or binder file descriptors to be triggered.

📦 What is this software?

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

Linux Kernel by Linux

The Linux Kernel is the core component of the Linux operating system, serving as the critical interface between computer hardware and software processes. As the heart of millions of servers, cloud infrastructure, embedded systems, Android devices, and IoT deployments worldwide, the Linux Kernel mana...

Learn more about Linux Kernel →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Kernel privilege escalation leading to full system compromise, arbitrary code execution, or persistent rootkits.

🟠

Likely Case

Kernel panic or system crash causing denial of service.

🟢

If Mitigated

Limited impact if proper kernel hardening and privilege separation are implemented.

🌐 Internet-Facing: LOW - Requires local access or ability to execute code on the system.
🏢 Internal Only: MEDIUM - Local users or compromised services could exploit this vulnerability.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: HIGH

Exploitation requires local access and specific conditions (aio polling with signalfd/binder). No public exploits known.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched in kernel commits: 321fba81ec034f88aea4898993c1bf15605c023f, 4105e6a128e8a98455dfc9e6dbb2ab0c33c4497f, 47ffefd88abfffe8a040bcc1dd0554d4ea6f7689, 50252e4b5e989ce64555c7aef7516bdefc2fea72, 60d311f9e6381d779d7d53371f87285698ecee24

Vendor Advisory: https://git.kernel.org/stable/c/321fba81ec034f88aea4898993c1bf15605c023f

Restart Required: Yes

Instructions:

1. Update Linux kernel to patched version from your distribution vendor. 2. Reboot system to load new kernel. 3. Verify kernel version after reboot.

🔧 Temporary Workarounds

Disable aio polling

linux

Prevent use of aio polling which triggers the vulnerability

echo 0 > /proc/sys/fs/aio-max-nr
sysctl -w fs.aio-max-nr=0

Restrict signalfd and binder usage

linux

Limit access to signalfd and binder file descriptors

chmod 600 /dev/binder
setfacl -m u:root:rw /dev/binder

🧯 If You Can't Patch

  • Implement strict access controls to limit who can use aio, signalfd, and binder functionality
  • Monitor system logs for crash reports or unusual kernel behavior

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r and compare with affected versions (4.18+). Check if aio polling is enabled.

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version after update and ensure it includes the patched commits. Check dmesg for any related errors.

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • Use-after-free warnings in dmesg
  • System crashes related to aio or polling

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("use-after-free" OR "aio" OR "POLLFREE" OR "panic")

🔗 References

📤 Share & Export