CVE-2022-49304

5.5 MEDIUM

📋 TL;DR

This CVE describes a deadlock vulnerability in the Linux kernel's SA1100 serial driver. When exploited, it can cause a kernel panic or system freeze by creating a circular lock dependency between the serial port lock and timer handler. This affects Linux systems using the SA1100 serial driver, primarily embedded devices and older ARM-based systems.

💻 Affected Systems

Products:
  • Linux kernel
Versions: Kernel versions before the fix commit 0976808d0d171ec837d4bd3e9f4ad4a00ab703b8
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ✅ No
Notes: Only vulnerable if SA1100 serial driver is loaded and used (typically on SA1100/SA1110 ARM processors or compatible hardware).

📦 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

Complete system freeze or kernel panic requiring hard reboot, leading to denial of service and potential data loss.

🟠

Likely Case

Local denial of service affecting serial port functionality, potentially causing system instability.

🟢

If Mitigated

Minimal impact if system doesn't use SA1100 serial ports or has proper isolation.

🌐 Internet-Facing: LOW - Requires local access or ability to trigger serial port operations.
🏢 Internal Only: MEDIUM - Could be exploited by local users or through other vulnerabilities to cause system instability.

🎯 Exploit Status

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

Requires local access to trigger serial port operations. No known public exploits, but deadlock vulnerabilities can be reliably triggered.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Kernel commit 0976808d0d171ec837d4bd3e9f4ad4a00ab703b8 and later

Vendor Advisory: https://git.kernel.org/stable/c/0976808d0d171ec837d4bd3e9f4ad4a00ab703b8

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing fix commit 0976808d0d171ec837d4bd3e9f4ad4a00ab703b8
2. Rebuild kernel if compiling from source
3. Reboot system to load new kernel

🔧 Temporary Workarounds

Disable SA1100 serial driver

linux

Prevent loading of vulnerable driver module

echo 'blacklist sa1100_serial' >> /etc/modprobe.d/blacklist.conf
rmmod sa1100_serial

Restrict serial port access

linux

Limit which users can access serial devices

chmod 600 /dev/ttySA*
setfacl -m u:root:rw- /dev/ttySA*

🧯 If You Can't Patch

  • Isolate systems using SA1100 hardware from untrusted users
  • Implement strict access controls on serial port devices

🔍 How to Verify

Check if Vulnerable:

Check if SA1100 serial driver is loaded: lsmod | grep sa1100_serial

Check Version:

uname -r

Verify Fix Applied:

Check kernel version includes fix: grep -q '0976808d0d171ec837d4bd3e9f4ad4a00ab703b8' /proc/version || uname -r

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic messages
  • 'BUG: scheduling while atomic' in dmesg
  • Serial port timeout errors

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("sa1100" OR "serial" OR "deadlock")

🔗 References

📤 Share & Export