CVE-2021-47443

5.5 MEDIUM

📋 TL;DR

This is a memory leak vulnerability in the Linux kernel's NFC (Near Field Communication) subsystem. When the digital_tg_listen_mdaa() function fails to send a command, it doesn't properly free allocated memory, causing gradual memory exhaustion. This affects Linux systems with NFC hardware and the digital NFC driver enabled.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Specific affected kernel versions not explicitly stated in CVE, but patches exist in stable kernel trees
Operating Systems: Linux distributions using vulnerable kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if NFC subsystem is enabled and digital NFC driver is loaded/used. Many servers and systems without NFC hardware are not affected.

📦 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 →

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

Sustained exploitation could lead to kernel memory exhaustion, causing system instability, denial of service, or kernel panic/crash.

🟠

Likely Case

Gradual memory consumption leading to performance degradation and potential system instability over time.

🟢

If Mitigated

Minimal impact if NFC functionality is disabled or unused, or if the system has sufficient memory headroom.

🌐 Internet-Facing: LOW - Requires local access to NFC hardware and specific NFC operations.
🏢 Internal Only: MEDIUM - Could be exploited by local users or processes with NFC access privileges.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: NO
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires ability to trigger the vulnerable NFC function, which typically requires local access and NFC hardware interaction.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched in stable kernel versions via the provided git commits

Vendor Advisory: https://git.kernel.org/stable/c/3f2960b39f22e26cf8addae93c3f5884d1c183c9

Restart Required: Yes

Instructions:

1. Update Linux kernel to a version containing the fix. 2. Check if your distribution has released a security update. 3. Reboot system after kernel update.

🔧 Temporary Workarounds

Disable NFC subsystem

linux

Prevent loading of NFC modules to eliminate attack surface

modprobe -r nfc
echo 'blacklist nfc' >> /etc/modprobe.d/blacklist.conf

Disable digital NFC driver

linux

Specifically prevent loading of the vulnerable digital NFC driver

modprobe -r nfc_digital
echo 'blacklist nfc_digital' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Disable all NFC functionality if not required
  • Implement memory monitoring and alerting for abnormal consumption patterns

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if NFC digital driver is loaded: 'lsmod | grep nfc_digital' and 'uname -r'

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is updated beyond vulnerable versions and NFC modules are either updated or disabled

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom (out of memory) messages
  • System memory exhaustion alerts
  • NFC-related error messages in kernel logs

Network Indicators:

  • N/A - This is a local memory management issue

SIEM Query:

source="kernel" AND ("out of memory" OR "oom" OR "nfc")

🔗 References

📤 Share & Export