CVE-2015-5707
NoneCVSS
—
EPSS
0.5%
Published
Oct 19, 2015
CISA due date
—
Cloudanix analysis
A problem in how older Linux systems handle requests to certain storage devices could let someone already logged in on the computer crash it or run harmful code.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Integer overflow in sg_start_req allows a large iov_count in a write request to the SCSI generic driver to trigger memory corruption or denial of service.
Why it matters to the business
Local attackers on affected Linux systems can crash servers or potentially execute code with kernel privileges, leading to downtime and data exposure on desktops, servers, and embedded devices still running vulnerable kernels.
How an attack unfolds
A local user with write access to /dev/sg* devices crafts a malicious write request containing an oversized iov_count value that overflows during length calculations in sg_start_req, resulting in out-of-bounds memory access and either a kernel panic or arbitrary memory corruption that can be leveraged for further privilege escalation.
How to fix it
Upgrade the Linux kernel to version 4.1 or later on all affected distributions; apply the vendor-supplied backported patch for the sg.c driver if a full kernel upgrade is not immediately possible; disable or restrict access to /dev/sg* devices for unprivileged users where feasible.
How to confirm the fix worked
Verify that the running kernel version is 4.1 or newer, confirm the sg_start_req function no longer contains the vulnerable integer arithmetic, and test that large iov_count requests are rejected or handled safely without kernel oops or corruption.
Typical attack path
- Obtain a local shell or process on an affected Linux system
- Open a handle to a SCSI generic device node
- Issue a write system call with a crafted iovec array whose iov_count triggers the integer overflow
- Exploit the resulting memory corruption to execute arbitrary code or cause denial of service
How to detect it
Review kernel logs for oops or panic entries referencing sg.c or sg_start_req around the time of suspected activity; examine process accounting and audit logs for unusual write operations to SCSI generic device nodes by non-root users.
What your security team should do
- Prioritize kernel upgrades on all internet-facing or multi-user Linux systems within the next maintenance window
- Audit systems for direct use of the SCSI generic driver and restrict device permissions
- Monitor for any remaining 2.6.x-4.0.x kernels in the environment and schedule immediate replacement
The record
Integer overflow in the sg_start_req function in drivers/scsi/sg.c in the Linux kernel 2.6.x through 4.x before 4.1 allows local users to cause a denial of service or possibly have unspecified other impact via a large iov_count value in a write request.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 4.1.3-1 |
| Debian:12 | linux | 0 | 4.1.3-1 |
| Debian:13 | linux | 0 | 4.1.3-1 |
| Debian:6.0 | linux-2.6 | 0 | 2.6.32-48squeeze14 |
| Debian:7 | linux | 0 | 3.2.68-1+deb7u3 |
| Debian:8 | linux | 0 | 3.16.7-ckt11-1+deb8u3 |
| Mageia:5 | btrfs-progs | 0 | 4.1.2-1.mga5 |
| Mageia:5 | iproute2 | 0 | 4.1.1-1.mga5 |
| Mageia:5 | kernel | 0 | 4.1.8-1.mga5 |
| Mageia:5 | kernel-firmware | 0 | 20150722-1.mga5 |
| Mageia:5 | kernel-firmware-nonfree | 0 | 20150824-1.mga5.nonfree |
| Mageia:5 | kernel-linus | 0 | 4.1.8-1.mga5 |
| Mageia:5 | kernel-tmb | 0 | 4.1.15-1.mga5 |
| Mageia:5 | kernel-userspace-headers | 0 | 4.1.8-1.mga5 |
| Mageia:5 | kmod-broadcom-wl | 0 | 6.30.223.248-36.mga5.nonfree |
| Mageia:5 | kmod-fglrx | 0 | 15.200.1046-5.mga5.nonfree |
| Mageia:5 | kmod-nvidia-current | 0 | 346.82-3.mga5.nonfree |
| Mageia:5 | kmod-nvidia304 | 0 | 304.125-41.mga5.nonfree |
| Mageia:5 | kmod-nvidia340 | 0 | 340.76-31.mga5.nonfree |
| Mageia:5 | kmod-xtables-addons | 0 | 2.7-4.mga5 |
| Mageia:5 | nvidia304 | 0 | 304.125-5.mga5.nonfree |
| Mageia:5 | nvidia340 | 0 | 340.76-2.mga5.nonfree |
| Mageia:5 | radeon-firmware | 0 | 20150824-1.mga5.nonfree |
| Mageia:5 | xtables-addons | 0 | 2.7-1.mga5 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-default | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-source | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-syms | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Desktop 12 | kernel-xen | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | kernel-default | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | kernel-source | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | kernel-syms | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | kernel-xen | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12-SP1_Update_3 | 0 | 1-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_1 | 0 | 4-2.3 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_12 | 0 | 1-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_2 | 0 | 4-2.3 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_3 | 0 | 3-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_4 | 0 | 3-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_5 | 0 | 3-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_6 | 0 | 2-2.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12_Update_7 | 0 | 2-4.1 |
| SUSE:Linux Enterprise Module for Public Cloud 12 | kernel-ec2 | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Module for Public Cloud 12 | kernel-ec2 | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-rt_trace | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-source-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP3 | kernel-syms-rt | 0 | 3.0.101.rt130-0.33.40.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-rt | 0 | 3.0.101.rt130-45.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-rt_trace | 0 | 3.0.101.rt130-45.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-source-rt | 0 | 3.0.101.rt130-45.1 |
| SUSE:Linux Enterprise Real Time 11 SP4 | kernel-syms-rt | 0 | 3.0.101.rt130-45.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-default | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-ec2 | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-pae | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-source | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-syms | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-trace | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | kernel-xen | 0 | 3.0.101-0.7.37.1 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-ec2 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-ppc64 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ec2 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-ppc64 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server 12 | kernel-default | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server 12 | kernel-source | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server 12 | kernel-syms | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server 12 | kernel-xen | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server 12 SP1 | kernel-default | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server 12 SP1 | kernel-source | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server 12 SP1 | kernel-syms | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server 12 SP1 | kernel-xen | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server 12 SP1 | lttng-modules | 0 | 2.7.0-3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-bigsmp | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-default | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-ec2 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-pae | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-ppc64 | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-source | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-syms | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-trace | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | kernel-xen | 0 | 3.0.101-0.47.67.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-default | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ec2 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-pae | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-ppc64 | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-source | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-syms | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-trace | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | kernel-xen | 0 | 3.0.101-65.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-default | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-source | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-syms | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | kernel-xen | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | kernel-default | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | kernel-source | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | kernel-syms | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | kernel-xen | 0 | 3.12.53-60.30.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | lttng-modules | 0 | 2.7.0-3.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | kernel-docs | 0 | 3.0.101-65.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | kernel-docs | 0 | 3.12.55-52.42.2 |
| SUSE:Linux Enterprise Software Development Kit 12 | kernel-obs-build | 0 | 3.12.55-52.42.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | kernel-docs | 0 | 3.12.53-60.30.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | kernel-obs-build | 0 | 3.12.53-60.30.2 |
| SUSE:Linux Enterprise Workstation Extension 12 | kernel-default | 0 | 3.12.55-52.42.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP1 | kernel-default | 0 | 3.12.53-60.30.1 |
| Ubuntu:14.04:LTS | linux | 0 | 3.13.0-63.103 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-lts-utopic | 0 | 3.16.0-50.66~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-vivid | 0 | 3.19.0-28.30~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-wily | 0 | 4.2.0-18.22~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.2.0-16.19 |
| 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.2.0-1013.19 |
| 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-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