Cloudanix VulnDB

CVE-2022-25375

Medium · 5.5

CVSS

5.5

EPSS

1.1%

Published

Feb 20, 2022

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel's USB gadget code could let someone who already has access to the device read parts of the system's internal memory that should stay private.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
OS kernel
Class
Information Disclosure
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

Missing bounds check on RNDIS_MSG_SET command size in the USB gadget RNDIS driver permits an out-of-bounds kernel memory read, disclosing arbitrary kernel memory contents to a local process.

Why it matters to the business

Systems exposing the RNDIS USB gadget interface risk leakage of kernel memory that may contain credentials, encryption keys, or other sensitive data; the flaw has been public for years with a stable fix available.

How an attack unfolds

An attacker with the ability to interact with the RNDIS USB gadget function sends a crafted RNDIS_MSG_SET command whose length field exceeds the actual buffer, causing the driver to copy uninitialized kernel memory back to user space.

How to fix it

Upgrade the Linux kernel to a version containing commit 38ea1eac7d88072bbffb630e2b3db83ca649b826 or later; rebuild and redeploy any custom kernels or distributions that include the vulnerable rndis.c driver.

How to confirm the fix worked

Confirm the running kernel contains commit 38ea1eac7d88072bbffb630e2b3db83ca649b826 by inspecting /proc/version or the kernel source tree; attempt to reproduce the information leak with a proof-of-concept that exercises the RNDIS_MSG_SET path and verify the leak no longer occurs.

Typical attack path

  1. Obtain local access or control of a process that can open the RNDIS gadget character device
  2. Craft a malicious RNDIS_MSG_SET control message with an oversized length field
  3. Submit the message via the gadget interface and receive the leaked kernel memory in the response
  4. Parse the returned data for sensitive material such as cryptographic material or credentials

How to detect it

Review kernel logs for unusual RNDIS gadget activity or memory-corruption warnings; examine audit logs for processes that open USB gadget character devices and inspect any captured USB traffic for oversized RNDIS control messages.

What your security team should do

  • Prioritize kernel updates on any hosts that expose USB gadget functionality, especially embedded or Android devices
  • Audit device configurations to determine whether the RNDIS gadget driver is enabled and can be disabled if not required
  • Monitor upstream kernel changelogs for any follow-on fixes related to USB gadget drivers

The record

An issue was discovered in drivers/usb/gadget/function/rndis.c in the Linux kernel before 5.16.10. The RNDIS USB gadget lacks validation of the size of the RNDIS_MSG_SET command. Attackers can obtain sensitive information from kernel memory.

Affected packages

Ecosystem Package Introduced Fixed
Android :linux_kernel: :0 :2022-06-05
Debian:10 linux 0 4.19.232-1
Debian:11 linux 0 5.10.92-2
Debian:12 linux 0 5.16.10-1
Debian:13 linux 0 5.16.10-1
Debian:14 linux 0 5.16.10-1
Debian:9 linux 0 4.9.303-1
Debian:9 linux-4.19 0 4.19.232-1~deb9u1
Mageia:8 kernel 0 5.15.25-1.mga8
Mageia:8 kernel-linus 0 5.15.26-1.mga8
Mageia:8 kmod-virtualbox 0 6.1.32-1.7.mga8
Mageia:8 kmod-xtables-addons 0 3.18-1.57.mga8
SUSE:Enterprise Storage 7 kernel-default 0 5.3.18-24.107.1
SUSE:Enterprise Storage 7 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Enterprise Storage 7 kernel-docs 0 5.3.18-24.107.1
SUSE:Enterprise Storage 7 kernel-obs-build 0 5.3.18-24.107.1
SUSE:Enterprise Storage 7 kernel-preempt 0 5.3.18-24.107.1
SUSE:Enterprise Storage 7 kernel-source 0 5.3.18-24.107.1
SUSE:Enterprise Storage 7 kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Availability Extension 15 SP2 kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Availability Extension 15 SP3 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-obs-build 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-obs-build 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Live Patching 15 SP2 kernel-livepatch-SLE15-SP2_Update_25 0 1-5.5.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_15 0 1-150300.7.5.1
SUSE:Linux Enterprise Micro 5.0 kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Micro 5.0 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise Micro 5.0 kernel-rt 0 5.3.18-150200.79.2
SUSE:Linux Enterprise Micro 5.1 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Micro 5.1 kernel-default-base 0 5.3.18-150300.59.54.1.150300.18.35.3
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.79.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-64kb 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-default-base 0 5.3.18-150300.59.54.1.150300.18.35.3
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-preempt 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-source 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Basesystem 15 SP3 kernel-zfcpdump 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-docs 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-obs-build 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-preempt 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-source 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Development Tools 15 SP3 kernel-syms 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Legacy 15 SP3 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-azure 0 5.3.18-150300.38.47.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-source-azure 0 5.3.18-150300.38.47.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP3 kernel-syms-azure 0 5.3.18-150300.38.47.1
SUSE:Linux Enterprise Real Time 15 SP2 kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Real Time 15 SP2 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise Real Time 15 SP2 kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise Real Time 15 SP2 kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise Real Time 15 SP2 kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise Real Time 15 SP2 kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-BCL kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-obs-build 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server 15 SP2-LTSS kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-docs 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-obs-build 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-preempt 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-source 0 5.3.18-24.107.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP2 kernel-syms 0 5.3.18-24.107.1
SUSE:Linux Enterprise Workstation Extension 15 SP3 kernel-default 0 5.3.18-150300.59.54.1
SUSE:Linux Enterprise Workstation Extension 15 SP3 kernel-preempt 0 5.3.18-150300.59.54.1
SUSE:Manager Proxy 4.1 kernel-default 0 5.3.18-24.107.1
SUSE:Manager Proxy 4.1 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Manager Proxy 4.1 kernel-docs 0 5.3.18-24.107.1
SUSE:Manager Proxy 4.1 kernel-preempt 0 5.3.18-24.107.1
SUSE:Manager Proxy 4.1 kernel-source 0 5.3.18-24.107.1
SUSE:Manager Proxy 4.1 kernel-syms 0 5.3.18-24.107.1
SUSE:Manager Retail Branch Server 4.1 kernel-default 0 5.3.18-24.107.1
SUSE:Manager Retail Branch Server 4.1 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Manager Retail Branch Server 4.1 kernel-docs 0 5.3.18-24.107.1
SUSE:Manager Retail Branch Server 4.1 kernel-preempt 0 5.3.18-24.107.1
SUSE:Manager Retail Branch Server 4.1 kernel-source 0 5.3.18-24.107.1
SUSE:Manager Retail Branch Server 4.1 kernel-syms 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-default 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-default-base 0 5.3.18-24.107.1.9.50.2
SUSE:Manager Server 4.1 kernel-docs 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-obs-build 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-preempt 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-source 0 5.3.18-24.107.1
SUSE:Manager Server 4.1 kernel-syms 0 5.3.18-24.107.1
SUSE:Real Time Module 15 SP2 kernel-rt 0 5.3.18-150200.79.2
SUSE:Real Time Module 15 SP2 kernel-rt_debug 0 5.3.18-150200.79.2
SUSE:Real Time Module 15 SP2 kernel-source-rt 0 5.3.18-150200.79.2
SUSE:Real Time Module 15 SP2 kernel-syms-rt 0 5.3.18-150200.79.1
SUSE:Real Time Module 15 SP3 kernel-rt 0 5.3.18-150300.79.1
SUSE:Real Time Module 15 SP3 kernel-rt_debug 0 5.3.18-150300.79.1
SUSE:Real Time Module 15 SP3 kernel-source-rt 0 5.3.18-150300.79.1
SUSE:Real Time Module 15 SP3 kernel-syms-rt 0 5.3.18-150300.79.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:18.04:LTS linux 0 4.15.0-184.194
Ubuntu:18.04:LTS linux 0 4.15.0-177.186
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1133.143
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1128.137
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-1142.156
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1138.151
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-5.4 0 5.4.0-1078.81~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1047.52
Ubuntu:18.04:LTS linux-dell300x 0 4.15.0-1042.47
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1127.142
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1122.136
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-gcp-5.4 0 5.4.0-1073.78~18.04.1
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 5.4.0-1074.79~18.04.1
Ubuntu:18.04:LTS linux-gkeop-5.4 0 5.4.0-1046.48~18.04.1
Ubuntu:18.04:LTS linux-gkeop-5.4 0 5.4.0-1040.41~18.04.1
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-5.4 0 5.4.0-110.124~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-ibm-5.4 0 5.4.0-1021.23~18.04.1
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1119.123
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1114.117
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1098.108
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1093.102
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-oracle-5.4 0 5.4.0-1071.77~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-raspi-5.4 0 5.4.0-1060.68~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.15.0-1114.122
Ubuntu:18.04:LTS linux-snapdragon 0 4.15.0-1132.142
Ubuntu:18.04:LTS linux-snapdragon 0 4.15.0-1127.136
Ubuntu:20.04:LTS linux 0 5.4.0-117.132
Ubuntu:20.04:LTS linux 0 5.4.0-110.124
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1078.84
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1073.78
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 5.13.0-1023.25~20.04.1
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 0 5.4.0-1078.81
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 5.13.0-1023.27~20.04.1
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 0 5.4.0-1078.81+cvm1.1
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 0 5.4.0-1073.78
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 5.13.0-1025.30~20.04.1
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 0 5.4.0-1071.76
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 0 5.4.0-1040.41
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 5.13.0-41.46~20.04.1
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 0 5.4.0-1021.23
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

Related vulnerabilities