CVE-2015-7566
Medium · 4.6CVSS
4.6
EPSS
1.8%
Published
Feb 8, 2016
CISA due date
—
Cloudanix analysis
Anyone who can plug a specially made USB stick into a Linux computer can make that computer crash.
- Exploitation
- Physical Access
- Attacker needs
- Physical Access
- Complexity
- Trivial
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw triggers a NULL pointer dereference in clie_5_attach when a USB device lacking a bulk-out endpoint is attached, causing a kernel crash.
Why it matters to the business
Systems can be crashed by anyone with brief physical access to a USB port, leading to unplanned downtime on servers, workstations, or embedded devices running affected kernels.
How an attack unfolds
An attacker with physical access crafts or selects a USB device that omits the bulk-out endpoint, inserts it into the target system, and the visor driver’s clie_5_attach function dereferences a NULL pointer, crashing the kernel. Public exploit code has been available for years.
How to fix it
Upgrade the Linux kernel to a version later than 4.4.1 that contains the fix for the visor driver; restrict physical USB access via port locks or policy where upgrades are delayed.
How to confirm the fix worked
Verify the running kernel version is newer than 4.4.1 and confirm the visor.c driver no longer contains the vulnerable clie_5_attach logic; test insertion of a non-bulk-out USB device in a lab environment and ensure no crash occurs.
Typical attack path
- Obtain brief physical access to a target machine’s USB ports
- Prepare or obtain a USB device missing a bulk-out endpoint
- Insert the device to trigger clie_5_attach
- Observe kernel panic and system reboot or halt
How to detect it
Review kernel logs (dmesg, /var/log/kern.log) for NULL pointer dereference panics occurring immediately after USB device insertion events; correlate with USB device addition timestamps in syslog or udev logs.
- clie_5_attach
- visor.c
- usb serial NULL pointer dereference
- usb 1-*: USB disconnect, device number
What your security team should do
- Apply the kernel update immediately on all exposed systems
- Disable unnecessary USB serial drivers via kernel configuration or blacklisting where feasible
- Enforce physical security controls on USB ports for high-value assets
- Monitor for kernel oops or panic events referencing visor or usb-serial
The record
The clie_5_attach function in drivers/usb/serial/visor.c in the Linux kernel through 4.4.1 allows physically proximate attackers to cause a denial of service (NULL pointer dereference and system crash) or possibly have unspecified other impact by inserting a USB device that lacks a bulk-out endpoint.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 4.3.3-6 |
| Debian:12 | linux | 0 | 4.3.3-6 |
| Debian:13 | linux | 0 | 4.3.3-6 |
| Debian:6.0 | linux-2.6 | 0 | 2.6.32-48squeeze19 |
| Debian:8 | linux | 0 | 3.16.7-ckt20-1+deb8u3 |
| 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 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 Software Development Kit 11 SP4 | kernel-docs | 0 | 3.0.101-77.2 |
| 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-83.127 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-lts-utopic | 0 | 3.16.0-69.89~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-vivid | 0 | 3.19.0-56.62~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-wily | 0 | 4.2.0-34.39~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.4.0-7.22 |
| 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-1003.4 |
| Ubuntu:16.04:LTS | linux-snapdragon | 0 | 4.4.0-1012.12 |
| 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 |
Related vulnerabilities
- CVE-2025-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux