CVE-2022-50370

5.5 MEDIUM

📋 TL;DR

A NULL pointer dereference vulnerability in the Linux kernel's i2c-designware driver allows system crashes when unexpected device interrupts occur during system resume from S3 sleep state. This affects Linux systems with Intel Alder Lake-S chipsets on certain Gigabyte motherboards. The vulnerability can cause kernel panics and system instability.

💻 Affected Systems

Products:
  • Linux kernel i2c-designware driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux distributions using affected kernel versions
Default Config Vulnerable: ⚠️ Yes
Notes: Primarily affects systems with Intel Alder Lake-S chipsets on Gigabyte motherboards, but could potentially affect other systems using the i2c-designware driver in similar conditions.

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

⚠️ Risk & Real-World Impact

🔴

Worst Case

System crash/kernel panic leading to denial of service and potential data loss during system resume operations.

🟠

Likely Case

System instability or crashes when resuming from S3 sleep state on affected hardware configurations.

🟢

If Mitigated

No impact if patched or on unaffected hardware configurations.

🌐 Internet-Facing: LOW - This is a local hardware/driver interaction issue not directly exploitable over network.
🏢 Internal Only: MEDIUM - Can cause system crashes and downtime on affected internal systems during power state transitions.

🎯 Exploit Status

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

Exploitation requires specific hardware/firmware conditions during system resume from S3 sleep state. Not a typical remote code execution vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Linux kernel versions containing commits: 301c8f5c32c8fb79c67539bc23972dc3ef48024c, 7fa5304c4b5b425d4a0b3acf10139a7f6108a85f, a206f7fbe9589c60fafad12884628c909ecb042f, aa59ac81e859006d3a1df035a19b3f2089110f93

Vendor Advisory: https://git.kernel.org/stable/c/301c8f5c32c8fb79c67539bc23972dc3ef48024c

Restart Required: No

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. For distributions: Use package manager to update kernel package. 3. For custom kernels: Apply the relevant patches from kernel.org. 4. Reboot to load new kernel.

🔧 Temporary Workarounds

Disable S3 sleep state

all

Prevent system from entering S3 sleep state where the vulnerability triggers

echo deep > /sys/power/mem_sleep
echo freeze > /sys/power/state

Update motherboard UEFI/BIOS

all

Some motherboard firmware updates may prevent the problematic I2C communication during resume

🧯 If You Can't Patch

  • Avoid using S3 sleep/suspend on affected systems
  • Use S2 idle or other power states instead of S3

🔍 How to Verify

Check if Vulnerable:

Check kernel version and if i2c-designware module is loaded: lsmod | grep i2c_designware && uname -r

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits: git log --oneline | grep -E '301c8f5c32c8|7fa5304c4b5b|a206f7fbe958|aa59ac81e859'

📡 Detection & Monitoring

Log Indicators:

  • Kernel panic/OOPS messages mentioning i2c_designware or i2c_dw_xfer_msg
  • NULL pointer dereference in kernel logs during system resume

SIEM Query:

source="kernel" AND ("i2c_designware" OR "i2c_dw_xfer_msg" OR "NULL pointer dereference")

🔗 References

📤 Share & Export