Cloudanix VulnDB

CVE-2016-2184

Medium · 4.6

CVSS

4.6

EPSS

1.9%

Published

Apr 27, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A problem in how Linux handles certain USB devices can make the computer crash if someone plugs in a specially made USB device.

Exploit Available
Exploitation
Physical Access
Attacker needs
Physical Access
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The create_fixed_stream_quirk function in sound/usb/quirks.c performs insufficient validation of the endpoints value from a USB device descriptor, resulting in a NULL pointer dereference or double free that crashes the kernel.

Why it matters to the business

Systems may experience sudden crashes and loss of availability when a malicious USB audio device is physically connected; the requirement for physical access and low EPSS keep overall operational risk low for most environments.

How an attack unfolds

An attacker crafts a USB device descriptor containing an invalid endpoints value, connects the device to a Linux system with the vulnerable snd-usb-audio driver, and triggers create_fixed_stream_quirk during device enumeration, causing a kernel crash.

How to fix it

Update the Linux kernel to a version containing commit 0f886ca12765d20124bd06291c82951fd49a33be or later; rebuild and reboot with the patched kernel. Restrict physical USB access where feasible until the update is applied.

How to confirm the fix worked

Confirm the running kernel contains commit 0f886ca12765d20124bd06291c82951fd49a33be via git log or package version; attempt connection of a test device with crafted endpoints in a lab environment and verify absence of crash.

Typical attack path

  1. Craft a USB device with a malicious endpoints value in its descriptor
  2. Obtain physical access to the target system
  3. Insert the device into a USB port
  4. Trigger device enumeration to execute the vulnerable code path
  5. Observe NULL dereference or double free leading to system crash

How to detect it

Review kernel logs for oops or panic entries referencing sound/usb/quirks.c or create_fixed_stream_quirk around the time of unexpected USB device connections; correlate with physical access logs or USB device insertion events.

What your security team should do

  • Apply the kernel patch containing commit 0f886ca12765d20124bd06291c82951fd49a33be as soon as possible on exposed systems
  • Enforce USB device allow-listing or physical port controls to reduce exposure
  • Monitor for kernel oops or panic logs related to snd-usb-audio after any USB audio device insertion

The record

The create_fixed_stream_quirk function in sound/usb/quirks.c in the snd-usb-audio driver in the Linux kernel before 4.5.1 allows physically proximate attackers to cause a denial of service (NULL pointer dereference or double free, and system crash) via a crafted endpoints value in a USB device descriptor.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 linux 0 4.5.1-1
Debian:11 linux 0 4.5.1-1
Debian:12 linux 0 4.5.1-1
Debian:13 linux 0 4.5.1-1
Debian:7 linux 0 3.2.81-1
Debian:8 linux 0 3.16.7-ckt25-2+deb8u2
SUSE:Linux Enterprise Desktop 12 kernel-default 0 3.12.60-52.49.1
SUSE:Linux Enterprise Desktop 12 kernel-source 0 3.12.60-52.49.1
SUSE:Linux Enterprise Desktop 12 kernel-syms 0 3.12.60-52.49.1
SUSE:Linux Enterprise Desktop 12 kernel-xen 0 3.12.60-52.49.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-default 0 3.12.57-60.35.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-source 0 3.12.57-60.35.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-syms 0 3.12.57-60.35.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-xen 0 3.12.57-60.35.1
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12-SP1_Update_4 0 1-2.3
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12_Update_14 0 1-2.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.60-52.49.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.57-60.35.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt 0 3.0.101.rt130-54.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt_trace 0 3.0.101.rt130-54.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-source-rt 0 3.0.101.rt130-54.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-syms-rt 0 3.0.101.rt130-54.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute 0 3.12.58-14.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute_debug 0 3.12.58-14.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt 0 3.12.58-14.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt_debug 0 3.12.58-14.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-source-rt 0 3.12.58-14.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-syms-rt 0 3.12.58-14.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-default 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-ec2 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-pae 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-source 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-syms 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-trace 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-xen 0 3.0.101-0.7.40.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-bigsmp 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-default 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-ec2 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-pae 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-source 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-syms 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-trace 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-xen 0 3.0.101-0.47.79.1
SUSE:Linux Enterprise Server 11 SP4 kernel-default 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ec2 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-pae 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ppc64 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-source 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-syms 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-trace 0 3.0.101-77.1
SUSE:Linux Enterprise Server 11 SP4 kernel-xen 0 3.0.101-77.1
SUSE:Linux Enterprise Server 12 kernel-default 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server 12 kernel-source 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server 12 kernel-syms 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server 12 kernel-xen 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server 12 SP1 kernel-default 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server 12 SP1 kernel-source 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server 12 SP1 kernel-syms 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server 12 SP1 kernel-xen 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-default 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ec2 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-pae 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ppc64 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-source 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-syms 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-trace 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-xen 0 3.0.101-77.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-default 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-source 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-syms 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-xen 0 3.12.60-52.49.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-default 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-source 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-syms 0 3.12.57-60.35.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-xen 0 3.12.57-60.35.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 kernel-docs 0 3.0.101-77.2
SUSE:Linux Enterprise Software Development Kit 12 kernel-docs 0 3.12.60-52.49.3
SUSE:Linux Enterprise Software Development Kit 12 kernel-obs-build 0 3.12.60-52.49.1
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-docs 0 3.12.57-60.35.3
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-obs-build 0 3.12.57-60.35.1
SUSE:Linux Enterprise Workstation Extension 12 kernel-default 0 3.12.60-52.49.1
SUSE:Linux Enterprise Workstation Extension 12 SP1 kernel-default 0 3.12.57-60.35.1
SUSE:Manager 2.1 kernel-bigsmp 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-default 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-ec2 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-source 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-syms 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-trace 0 3.0.101-0.47.79.1
SUSE:Manager 2.1 kernel-xen 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-bigsmp 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-default 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-ec2 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-source 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-syms 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-trace 0 3.0.101-0.47.79.1
SUSE:Manager Proxy 2.1 kernel-xen 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-bigsmp 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-default 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-ec2 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-source 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-syms 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-trace 0 3.0.101-0.47.79.1
SUSE:OpenStack Cloud 5 kernel-xen 0 3.0.101-0.47.79.1
Ubuntu:14.04:LTS linux 0 3.13.0-86.130
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-lts-utopic 0 3.16.0-71.91~14.04.1
Ubuntu:14.04:LTS linux-lts-vivid 0 3.19.0-59.65~14.04.1
Ubuntu:14.04:LTS linux-lts-wily 0 4.2.0-36.41~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-22.39~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-22.39
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-gke 0 4.4.0-1003.3
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-36.36~16.04.1
Ubuntu:16.04:LTS linux-raspi2 0 4.4.0-1010.12
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1013.14
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 No fix
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-realtime 0 No fix
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:24.04:LTS linux-azure-6.11 0 No fix
Ubuntu:24.04:LTS linux-gcp-6.11 0 No fix
Ubuntu:24.04:LTS linux-hwe-6.11 0 No fix
Ubuntu:24.04:LTS linux-lowlatency-hwe-6.11 0 No fix
Ubuntu:24.04:LTS linux-raspi-realtime 0 No fix
Ubuntu:24.04:LTS linux-realtime 0 No fix
Ubuntu:24.04:LTS linux-riscv 0 No fix
Ubuntu:Pro:16.04:LTS linux-flo 0 No fix
Ubuntu:Pro:16.04:LTS linux-goldfish 0 No fix
Ubuntu:Pro:16.04:LTS linux-mako 0 No fix
Ubuntu:Pro:18.04:LTS linux-azure 0 No fix
Ubuntu:Pro:18.04:LTS linux-gcp 0 No fix
Ubuntu:Pro:18.04:LTS linux-hwe 0 No fix
Ubuntu:Pro:18.04:LTS linux-hwe-edge 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-fde-5.15 0 No fix
Ubuntu:Pro:20.04:LTS linux-gke 0 No fix
Ubuntu:Pro:20.04:LTS linux-gkeop 0 No fix
Ubuntu:Pro:20.04:LTS linux-raspi2 0 No fix
Ubuntu:Pro:20.04:LTS linux-riscv 0 No fix
openSUSE:Tumbleweed kernel-source 0 4.8.13-1.1

Related vulnerabilities