Cloudanix VulnDB

CVE-2022-3111

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Dec 14, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A coding mistake in the Linux kernel's handling of a specific power chip can let a local user crash the system.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing call to free WM8350_IRQ_CHG_FAST_RDY in free_charger_irq() after registration in wm8350_init_charger() leaves a dangling IRQ handler registration, enabling memory corruption via use-after-free or resource leak on affected power supply drivers.

Why it matters to the business

Local denial-of-service or system instability on Linux systems using the wm8350 power management chip, potentially requiring reboots or causing unexpected downtime in embedded or server environments; low urgency given four-year age and minimal exploitation signals.

How an attack unfolds

A local attacker with low privileges loads or triggers the wm8350_power driver, causes the charger initialization path to register the IRQ, then triggers module unload or error paths that invoke the incomplete free function, resulting in a dangling reference that can be abused for kernel memory corruption.

How to fix it

Upgrade the Linux kernel to a version containing the fix for the missing IRQ free (post-5.16-rc6 releases) and rebuild any custom kernels with the corrected wm8350_power.c driver.

How to confirm the fix worked

Confirm kernel source contains paired free for WM8350_IRQ_CHG_FAST_RDY in free_charger_irq(); verify running kernel version is newer than 5.16-rc6 and test driver load/unload cycles for clean IRQ release.

Typical attack path

  1. Obtain local shell on target Linux system
  2. Trigger wm8350 charger initialization via hardware or module load
  3. Force driver unload or error path to execute incomplete IRQ free
  4. Leverage resulting dangling IRQ reference for memory corruption or crash

How to detect it

Review kernel logs for IRQ-related warnings or oops during wm8350 module load/unload; inspect dmesg and /var/log/kern.log for charger IRQ registration errors on systems with wm8350 hardware.

What your security team should do

  • Prioritize kernel upgrades on systems exposing the wm8350 driver
  • Audit custom kernels and embedded images for the incomplete free_charger_irq function
  • Monitor for local privilege escalation attempts on affected hosts

The record

An issue was discovered in the Linux kernel through 5.16-rc6. free_charger_irq() in drivers/power/supply/wm8350_power.c lacks free of WM8350_IRQ_CHG_FAST_RDY, which is registered in wm8350_init_charger().

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 5.10.113-1
Debian:12 linux 0 5.17.3-1
Debian:13 linux 0 5.17.3-1
SUSE:Enterprise Storage 7.1 kernel-64kb 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Enterprise Storage 7.1 kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Enterprise Storage 7.1 kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Availability Extension 15 SP3 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Availability Extension 15 SP4 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-64kb 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-source 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_28 0 1-150300.7.3.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4-RT_Update_2 0 1-150400.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_7 0 1-150400.9.3.1
SUSE:Linux Enterprise Micro 5.1 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Micro 5.1 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.115.1
SUSE:Linux Enterprise Micro 5.2 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Micro 5.2 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise Micro 5.2 kernel-rt 0 5.3.18-150300.115.1
SUSE:Linux Enterprise Micro 5.3 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Micro 5.3 kernel-default-base 0 5.14.21-150400.24.41.1.150400.24.15.1
SUSE:Linux Enterprise Micro 5.3 kernel-rt 0 5.14.21-150400.15.8.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 kernel-64kb 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 kernel-default-base 0 5.14.21-150400.24.41.1.150400.24.15.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 kernel-source 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Basesystem 15 SP4 kernel-zfcpdump 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4 kernel-docs 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4 kernel-obs-build 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4 kernel-source 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4 kernel-syms 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Legacy 15 SP4 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP4 kernel-azure 0 5.14.21-150400.14.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP4 kernel-source-azure 0 5.14.21-150400.14.31.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP4 kernel-syms-azure 0 5.14.21-150400.14.31.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Real Time 15 SP3 kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-64kb 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-source 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server 15 SP3-LTSS kernel-zfcpdump 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-docs 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-obs-build 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 kernel-syms 0 5.3.18-150300.59.109.1
SUSE:Linux Enterprise Workstation Extension 15 SP4 kernel-default 0 5.14.21-150400.24.41.1
SUSE:Manager Proxy 4.2 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Manager Proxy 4.2 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Manager Proxy 4.2 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Manager Proxy 4.2 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Manager Retail Branch Server 4.2 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Manager Retail Branch Server 4.2 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Manager Retail Branch Server 4.2 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Manager Retail Branch Server 4.2 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Manager Server 4.2 kernel-default 0 5.3.18-150300.59.109.1
SUSE:Manager Server 4.2 kernel-default-base 0 5.3.18-150300.59.109.1.150300.18.62.1
SUSE:Manager Server 4.2 kernel-preempt 0 5.3.18-150300.59.109.1
SUSE:Manager Server 4.2 kernel-source 0 5.3.18-150300.59.109.1
SUSE:Manager Server 4.2 kernel-zfcpdump 0 5.3.18-150300.59.109.1
SUSE:Real Time Module 15 SP3 kernel-rt 0 5.3.18-150300.115.1
SUSE:Real Time Module 15 SP3 kernel-rt_debug 0 5.3.18-150300.115.1
SUSE:Real Time Module 15 SP3 kernel-source-rt 0 5.3.18-150300.115.1
SUSE:Real Time Module 15 SP3 kernel-syms-rt 0 5.3.18-150300.115.1
SUSE:Real Time Module 15 SP4 kernel-rt 0 5.14.21-150400.15.8.1
SUSE:Real Time Module 15 SP4 kernel-rt_debug 0 5.14.21-150400.15.8.1
SUSE:Real Time Module 15 SP4 kernel-source-rt 0 5.14.21-150400.15.8.1
SUSE:Real Time Module 15 SP4 kernel-syms-rt 0 5.14.21-150400.15.8.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux 0 4.15.0-189.200
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1137.148
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1078.84~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1146.161
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1083.87~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1049.54
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1131.147
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1078.84~18.04.1
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-117.132~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1028.32~18.04.1
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1123.128
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1102.113
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1076.83~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1065.75~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.15.0-1115.123
Ubuntu:18.04:LTS linux-snapdragon 0 4.15.0-1133.143
Ubuntu:20.04:LTS linux 0 5.4.0-117.132
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1078.84
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1083.87
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1008.9~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1040.44
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1078.84
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 5.4.0-1074.79
Ubuntu:20.04:LTS linux-gke-5.15 0 5.15.0-1011.14~20.04.1
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1046.48
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.11 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.13 0 No fix
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-41.44~20.04.1
Ubuntu:20.04:LTS linux-hwe-5.8 0 No fix
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1026.29
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-5.13 0 No fix
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1008.11~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1004.6
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1068.72
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-42.45~20.04.1
Ubuntu:20.04:LTS linux-oem-5.10 0 No fix
Ubuntu:20.04:LTS linux-oem-5.13 0 No fix
Ubuntu:20.04:LTS linux-oem-5.14 0 5.14.0-1036.40
Ubuntu:20.04:LTS linux-oem-5.6 0 No fix
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1076.83
Ubuntu:20.04:LTS linux-oracle-5.11 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.13 0 No fix
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-oracle-5.8 0 No fix
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1065.75
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.11 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1015.17~20.04.1
Ubuntu:20.04:LTS linux-riscv-5.8 0 No fix
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1020.24
Ubuntu:22.04:LTS linux 0 5.15.0-35.36
Ubuntu:22.04:LTS linux 0 5.15.0-37.39
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1009.11
Ubuntu:22.04:LTS linux-aws 0 5.15.0-1011.14
Ubuntu:22.04:LTS linux-aws-6.5 0 6.5.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-aws-6.8 0 6.8.0-1009.9~22.04.2
Ubuntu:22.04:LTS linux-azure 0 5.15.0-1008.9
Ubuntu:22.04:LTS linux-azure 0 5.15.0-1010.12
Ubuntu:22.04:LTS linux-azure-5.19 0 5.19.0-1020.21~22.04.1
Ubuntu:22.04:LTS linux-azure-6.5 0 6.5.0-1007.7~22.04.1
Ubuntu:22.04:LTS linux-azure-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1019.24.1
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1006.9
Ubuntu:22.04:LTS linux-gcp 0 5.15.0-1008.12
Ubuntu:22.04:LTS linux-gcp-6.5 0 6.5.0-1010.10~22.04.3
Ubuntu:22.04:LTS linux-gcp-6.8 0 6.8.0-1010.11~22.04.1
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1006.7
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1008.10

Related vulnerabilities