CVE-2015-7515
Medium · 4.6CVSS
4.6
EPSS
1.8%
Published
Apr 27, 2016
CISA due date
—
Cloudanix analysis
Someone with physical access can plug in a specially made USB stick and crash the computer.
- 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
- Medium
What it actually does
NULL pointer dereference in aiptek_probe when processing a USB device lacking endpoints, resulting in kernel panic.
Why it matters to the business
An attacker with physical access can crash affected systems, causing downtime on machines that accept USB input devices.
How an attack unfolds
An attacker creates a USB device that reports no endpoints, connects it to a vulnerable system, and triggers the aiptek driver probe routine which dereferences a NULL pointer and crashes the kernel.
How to fix it
Upgrade the Linux kernel to version 4.4 or later; disable the aiptek driver module if the hardware is not required.
How to confirm the fix worked
Verify the running kernel version is 4.4 or newer and confirm the aiptek module is either absent or updated; test with a non-endpoint USB device in a lab environment to ensure no crash occurs.
Typical attack path
- Craft a USB device descriptor with zero endpoints
- Physically connect the device to a target system running a vulnerable kernel
- Allow the aiptek driver to enumerate and call aiptek_probe
- Trigger NULL dereference and kernel panic
How to detect it
Review kernel crash logs and dmesg output for aiptek_probe NULL pointer dereference entries around the time of unexpected reboots; correlate with physical access logs.
- aiptek_probe
- NULL pointer dereference
- usb 1-1: new device
What your security team should do
- Apply kernel updates to 4.4+ across all affected hosts
- Restrict physical USB access where possible using port locks or policy
- Blacklist the aiptek module on systems that do not require it
The record
The aiptek_probe function in drivers/input/tablet/aiptek.c in the Linux kernel before 4.4 allows physically proximate attackers to cause a denial of service (NULL pointer dereference and system crash) via a crafted USB device that lacks endpoints.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 4.4.2-1 |
| Debian:12 | linux | 0 | 4.4.2-1 |
| Debian:13 | linux | 0 | 4.4.2-1 |
| Debian:8 | linux | 0 | 3.16.7-ckt25-2+deb8u2 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-default | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-pae | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-source | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-syms | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-trace | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-xen | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-rt | 0 | 3.0.101.rt130-51.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-rt_trace | 0 | 3.0.101.rt130-51.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-source-rt | 0 | 3.0.101.rt130-51.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-syms-rt | 0 | 3.0.101.rt130-51.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-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ec2 | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-pae | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ppc64 | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-source | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-syms | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-trace | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-xen | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-default | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ec2 | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-pae | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ppc64 | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-source | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-syms | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-trace | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-xen | 0 | 3.0.101-71.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | kernel-docs | 0 | 3.0.101-71.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-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-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.4.0-2.16 |
| 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: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 |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux