CVE-2020-13974

7.8 HIGH

📋 TL;DR

This CVE describes an integer overflow vulnerability in the Linux kernel's keyboard driver (drivers/tty/vt/keyboard.c) that could potentially lead to privilege escalation or denial of service. The vulnerability affects Linux kernel versions 4.4 through 5.7.1, though community members argue it may not be exploitable for security impact. Systems using affected kernel versions with virtual terminal functionality are potentially vulnerable.

💻 Affected Systems

Products:
  • Linux kernel
Versions: 4.4 through 5.7.1
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Requires virtual terminal (VT) functionality enabled. Some community members argue the integer overflow may not lead to exploitable security issues.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

Local privilege escalation to root, kernel panic causing system crash, or arbitrary code execution in kernel context

🟠

Likely Case

Kernel panic leading to denial of service (system crash) requiring reboot

🟢

If Mitigated

No impact if kernel is patched or workarounds applied

🌐 Internet-Facing: LOW - Requires local access to trigger the vulnerability
🏢 Internal Only: MEDIUM - Local users could potentially crash systems or escalate privileges

🎯 Exploit Status

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

Requires local access and specific conditions to trigger the integer overflow multiple times in sequence

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel 5.7.2 and later, backported to stable branches

Vendor Advisory: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b86dab054059b970111b5516ae548efaae5b3aae

Restart Required: Yes

Instructions:

1. Update kernel to version 5.7.2 or later. 2. For older stable branches, apply the backported patch from your distribution vendor. 3. Reboot the system to load the new kernel.

🔧 Temporary Workarounds

Disable virtual terminal access

linux

Restrict access to virtual terminals to prevent triggering the vulnerable code path

chmod 600 /dev/tty*
set restrictive permissions on virtual terminal devices

Use kernel module blacklisting

linux

Prevent loading of vulnerable keyboard modules if not needed

echo 'blacklist keyboard' >> /etc/modprobe.d/blacklist.conf

🧯 If You Can't Patch

  • Restrict local user access to systems with vulnerable kernels
  • Implement strict access controls and monitoring for virtual terminal usage

🔍 How to Verify

Check if Vulnerable:

Check kernel version: uname -r and compare to affected range 4.4-5.7.1

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version is 5.7.2 or later, or check for applied patches in distribution security updates

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages in /var/log/kern.log or dmesg
  • Multiple rapid keyboard input events from single user

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kern.log" AND "kernel panic" OR "Oops" AND process="keyboard"

🔗 References

📤 Share & Export