CVE-2022-50548

5.5 MEDIUM

📋 TL;DR

This CVE describes a memory leak vulnerability in the Linux kernel's hi846 camera sensor driver. When the driver fails to parse device tree properties for supported link frequencies, it doesn't properly release V4L2 fwnode resources, causing kernel memory exhaustion over time. This affects Linux systems using the hi846 camera sensor driver.

💻 Affected Systems

Products:
  • Linux kernel with hi846 camera driver
Versions: Linux kernel versions before the fix commits (specific versions vary by distribution)
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with hi846 camera hardware or where the hi846 driver is loaded; vulnerability triggers during device tree parsing failures.

⚠️ Risk & Real-World Impact

🔴

Worst Case

Sustained exploitation could lead to kernel memory exhaustion, causing system instability, crashes, or denial of service on affected devices.

🟠

Likely Case

Gradual memory leak during camera initialization failures, potentially causing system performance degradation or crashes over time.

🟢

If Mitigated

Minimal impact with proper monitoring and memory limits; system remains functional but may experience occasional memory pressure.

🌐 Internet-Facing: LOW - Requires local access or specialized hardware interaction; not directly exploitable over network.
🏢 Internal Only: MEDIUM - Affects devices with hi846 camera sensors; could impact embedded systems, IoT devices, or systems with camera hardware.

🎯 Exploit Status

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

Exploitation requires triggering the specific error condition in hi846_parse_dt(); attacker needs to manipulate device tree or cause parsing failures.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in kernel commits: 4368730678412a8fa71960dbda81e122dafa70f7, 80113026d415e27483669db7a88b548d1ec3d3d1, a05a9ae9ef3fffc9bc7ec2bc432a249a01155f6e

Vendor Advisory: https://git.kernel.org/stable/c/4368730678412a8fa71960dbda81e122dafa70f7

Restart Required: Yes

Instructions:

1. Update Linux kernel to version containing the fix commits. 2. Check your distribution's security advisories for backported patches. 3. Reboot system after kernel update.

🔧 Temporary Workarounds

Disable hi846 driver module

linux

Prevent loading of vulnerable hi846 camera driver if not needed

echo 'blacklist hi846' >> /etc/modprobe.d/blacklist-hi846.conf
rmmod hi846

🧯 If You Can't Patch

  • Monitor kernel memory usage and system logs for memory leak indicators
  • Implement kernel memory limits using cgroups to contain potential impact

🔍 How to Verify

Check if Vulnerable:

Check if hi846 module is loaded: lsmod | grep hi846; check kernel version against patched versions

Check Version:

uname -r

Verify Fix Applied:

Verify kernel version includes fix commits; test camera functionality with hi846 hardware

📡 Detection & Monitoring

Log Indicators:

  • Kernel oom-killer messages
  • Memory allocation failures in dmesg
  • Camera initialization errors

Network Indicators:

  • None - local vulnerability only

SIEM Query:

source="kernel" AND ("hi846" OR "memory leak" OR "oom-killer")

🔗 References

📤 Share & Export