Cloudanix VulnDB

CVE-2016-7425

High · 7.8

CVSS

7.8

EPSS

0.4%

Published

Oct 16, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A problem in how the Linux kernel talks to certain storage cards lets someone already logged into the computer take full control or shut the machine down.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Privilege Gain
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

The arcmsr_iop_message_xfer function in the Linux kernel arcmsr driver fails to validate the length field for ARCMSR_MESSAGE_WRITE_WQBUFFER ioctls, enabling a local process to write beyond the allocated heap buffer and corrupt adjacent kernel memory.

Why it matters to the business

On systems using affected Areca RAID controllers, a logged-in user can crash the kernel or obtain full root privileges, resulting in loss of system availability, data integrity, and confidentiality until the kernel is updated.

How an attack unfolds

An attacker with local shell access identifies a vulnerable kernel, opens the arcmsr device, and issues a crafted ARCMSR_MESSAGE_WRITE_WQBUFFER ioctl containing an oversized payload that overflows the heap buffer, allowing control of kernel execution flow to execute arbitrary code or trigger a denial of service.

How to fix it

Upgrade the Linux kernel to a version containing commit 7bc2b55a5c030685b399bb65b6baa9ccc3d1f167 or later; rebuild and reboot with the patched kernel. Where immediate patching is impossible, restrict untrusted local accounts and disable the arcmsr driver if the hardware is not required.

How to confirm the fix worked

Verify the running kernel source contains commit 7bc2b55a5c030685b399bb65b6baa9ccc3d1f167, confirm the arcmsr_hba.c file no longer lacks length validation for the WRITE_WQBUFFER path, and test that oversized ioctls are rejected without memory corruption.

Typical attack path

  1. Obtain a local user account on the target Linux system
  2. Locate the arcmsr character device and confirm driver presence
  3. Craft an ioctl request with ARCMSR_MESSAGE_WRITE_WQBUFFER and an unchecked length value
  4. Send the malicious ioctl to trigger the heap overflow
  5. Leverage memory corruption to escalate privileges or crash the kernel

How to detect it

Review kernel audit logs and dmesg for arcmsr-related oops or slab corruption messages around the time of suspected activity; inspect process execution history for unusual ioctl calls to the arcmsr device node.

What your security team should do

  • Prioritize kernel upgrade on all systems exposing the arcmsr driver to untrusted local users
  • Audit local user accounts and remove unnecessary privileges until patching is complete
  • Monitor vendor advisories for backported fixes in distribution kernels
  • Consider disabling the driver module if the hardware is unused

The record

The arcmsr_iop_message_xfer function in drivers/scsi/arcmsr/arcmsr_hba.c in the Linux kernel through 4.8.2 does not restrict a certain length field, which allows local users to gain privileges or cause a denial of service (heap-based buffer overflow) via an ARCMSR_MESSAGE_WRITE_WQBUFFER control code.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.7.8-1
Debian:12 linux 0 4.7.8-1
Debian:13 linux 0 4.7.8-1
Debian:7 linux 0 3.2.82-1
Debian:8 linux 0 3.16.36-1+deb8u2
Mageia:5 kernel-linus 0 4.4.32-1.mga5
Mageia:5 kernel-tmb 0 4.4.32-1.mga5
SUSE:Linux Enterprise Desktop 12 SP1 kernel-default 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-source 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-syms 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-xen 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Desktop 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Linux Enterprise Desktop 12 SP2 kernel-source 0 4.4.38-93.1
SUSE:Linux Enterprise Desktop 12 SP2 kernel-syms 0 4.4.38-93.1
SUSE:Linux Enterprise High Availability Extension 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12-SP1_Update_9 0 1-6.3
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12-SP2_Update_4 0 1-2.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.61-52.66.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-default 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-pae 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-source 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-xen 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt 0 3.0.101.rt130-65.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt_trace 0 3.0.101.rt130-65.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-source-rt 0 3.0.101.rt130-65.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-syms-rt 0 3.0.101.rt130-65.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute 0 3.12.67-60.27.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute_debug 0 3.12.67-60.27.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt 0 3.12.67-60.27.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt_debug 0 3.12.67-60.27.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-source-rt 0 3.12.67-60.27.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-syms-rt 0 3.12.67-60.27.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-default 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-ec2 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-pae 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-source 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-syms 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-trace 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-xen 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-default 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-pae 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-source 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-syms 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-trace 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-xen 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP4 kernel-bigmem 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-default 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ec2 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-pae 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ppc64 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-source 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-syms 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-trace 0 3.0.101-88.1
SUSE:Linux Enterprise Server 11 SP4 kernel-xen 0 3.0.101-88.1
SUSE:Linux Enterprise Server 12 SP1 kernel-default 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server 12 SP1 kernel-source 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server 12 SP1 kernel-syms 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server 12 SP1 kernel-xen 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Linux Enterprise Server 12 SP2 kernel-source 0 4.4.38-93.1
SUSE:Linux Enterprise Server 12 SP2 kernel-syms 0 4.4.38-93.1
SUSE:Linux Enterprise Server 12-LTSS kernel-default 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-source 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-syms 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-xen 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kgraft-patch-SLE12_Update_19 0 1-2.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 kernel-source 0 4.4.38-93.1
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 kernel-syms 0 4.4.38-93.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-bigmem 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-default 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ec2 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-pae 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ppc64 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-source 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-syms 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-trace 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-xen 0 3.0.101-88.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-default 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-source 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-syms 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-xen 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kgraft-patch-SLE12_Update_19 0 1-2.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-default 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-source 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-syms 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-xen 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-source 0 4.4.38-93.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-syms 0 4.4.38-93.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 kernel-docs 0 3.0.101-88.3
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-docs 0 3.12.67-60.64.18.3
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-obs-build 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Software Development Kit 12 SP2 kernel-docs 0 4.4.38-93.3
SUSE:Linux Enterprise Software Development Kit 12 SP2 kernel-obs-build 0 4.4.38-93.1
SUSE:Linux Enterprise Workstation Extension 12 SP1 kernel-default 0 3.12.67-60.64.18.1
SUSE:Linux Enterprise Workstation Extension 12 SP2 kernel-default 0 4.4.38-93.1
SUSE:Manager 2.1 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-default 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-source 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-xen 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-default 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-source 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-xen 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-default 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-source 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-syms 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-trace 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-xen 0 3.0.101-0.47.96.1
Ubuntu:14.04:LTS linux 0 3.13.0-103.150
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-lts-vivid 0 3.19.0-75.83~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-51.72~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-51.72
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-1038.45
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1042.46
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