Cloudanix VulnDB

CVE-2017-18174

Critical · 9.8

CVSS

9.8

EPSS

3.3%

Published

Feb 11, 2018

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in older Linux kernels on AMD systems can let attackers crash the computer or potentially take full control by triggering a memory error during hardware driver cleanup.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

Double free vulnerability triggered when amd_gpio_remove calls pinctrl_unregister, freeing kernel memory structures twice and corrupting allocator state.

Why it matters to the business

Kernel memory corruption can cause system crashes, denial of service, or potential arbitrary code execution, disrupting operations on affected Linux systems with AMD GPIO hardware.

How an attack unfolds

An attacker with the ability to trigger device removal or driver unload on an AMD-based system invokes amd_gpio_remove, which calls pinctrl_unregister and performs the double free, leading to memory corruption that may be leveraged for privilege escalation or crashes.

How to fix it

Update the Linux kernel to a version containing commit 251e22abde21833b3d29577e4d8c7aaccd650eee or later; rebuild and deploy the fixed kernel image across all affected systems.

How to confirm the fix worked

Verify the running kernel source contains commit 251e22abde21833b3d29577e4d8c7aaccd650eee, confirm pinctrl-amd.c no longer performs the double-free sequence, and test device removal paths on AMD hardware.

Typical attack path

  1. Identify or control an AMD platform running a vulnerable kernel with pinctrl-amd loaded.
  2. Trigger amd_gpio_remove via module unload, device hot-unplug, or driver error path.
  3. pinctrl_unregister executes and frees resources.
  4. Subsequent free in amd_gpio_remove causes double-free corruption.
  5. Attacker manipulates freed memory for code execution or causes denial of service.

How to detect it

Review kernel logs for double-free warnings, slab corruption reports, or oops traces referencing pinctrl-amd.c or amd_gpio_remove; inspect for unexpected module unloads or device removal events on AMD platforms.

What your security team should do

  • Prioritize kernel upgrades on all AMD-based Linux systems within the next patch cycle.
  • Restrict unprivileged module loading and device management capabilities until patched.
  • Monitor for kernel oops or panic logs related to pinctrl-amd after applying updates.

The record

In the Linux kernel before 4.7, the amd_gpio_remove function in drivers/pinctrl/pinctrl-amd.c calls the pinctrl_unregister function, leading to a double free.

Affected packages

Ecosystem Package Introduced Fixed
SUSE:Enterprise Storage 4 kernel-default 0 4.4.121-92.109.2
SUSE:Enterprise Storage 4 kernel-source 0 4.4.121-92.109.2
SUSE:Enterprise Storage 4 kernel-syms 0 4.4.121-92.109.2
SUSE:Enterprise Storage 4 kgraft-patch-SLE12-SP2_Update_29 0 1-3.5.2
SUSE:Linux Enterprise Desktop 12 SP3 kernel-default 0 4.4.120-94.17.1
SUSE:Linux Enterprise Desktop 12 SP3 kernel-source 0 4.4.120-94.17.1
SUSE:Linux Enterprise Desktop 12 SP3 kernel-syms 0 4.4.120-94.17.1
SUSE:Linux Enterprise High Availability Extension 12 SP2 kernel-default 0 4.4.121-92.109.2
SUSE:Linux Enterprise High Availability Extension 12 SP3 kernel-default 0 4.4.120-94.17.1
SUSE:Linux Enterprise Live Patching 12 SP3 kgraft-patch-SLE12-SP3_Update_10 0 1-4.3.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt 0 4.4.120-3.8.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt_debug 0 4.4.120-3.8.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-source-rt 0 4.4.120-3.8.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-syms-rt 0 4.4.120-3.8.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-default 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-source 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-syms 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-default 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-source 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-syms 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server 12 SP2-LTSS kgraft-patch-SLE12-SP2_Update_29 0 1-3.5.2
SUSE:Linux Enterprise Server 12 SP3 kernel-default 0 4.4.120-94.17.1
SUSE:Linux Enterprise Server 12 SP3 kernel-source 0 4.4.120-94.17.1
SUSE:Linux Enterprise Server 12 SP3 kernel-syms 0 4.4.120-94.17.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-default 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-source 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-syms 0 4.4.121-92.109.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kgraft-patch-SLE12-SP2_Update_29 0 1-3.5.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-default 0 4.4.120-94.17.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-source 0 4.4.120-94.17.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-syms 0 4.4.120-94.17.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 kernel-docs 0 4.4.120-94.17.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 kernel-obs-build 0 4.4.120-94.17.1
SUSE:Linux Enterprise Workstation Extension 12 SP3 kernel-default 0 4.4.120-94.17.1
SUSE:OpenStack Cloud 7 kernel-default 0 4.4.121-92.109.2
SUSE:OpenStack Cloud 7 kernel-source 0 4.4.121-92.109.2
SUSE:OpenStack Cloud 7 kernel-syms 0 4.4.121-92.109.2
SUSE:OpenStack Cloud 7 kgraft-patch-SLE12-SP2_Update_29 0 1-3.5.2
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1037.40
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-141.167~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-141.167
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1074.84
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-azure-edge 0 4.13.0-1003.3
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-36.36~16.04.1
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~16.04.1
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1039.45
Ubuntu:16.04:LTS linux-oem 0 4.13.0-1008.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:16.04:LTS linux-raspi2 0 4.4.0-1102.110
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1106.111
Ubuntu:18.04:LTS linux 0 4.13.0-16.19
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1018.18~18.04.1
Ubuntu:18.04:LTS linux-azure 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1082.92
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1020.20~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 4.18.0-1006.6~18.04.1
Ubuntu:18.04:LTS linux-gcp 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1071.81
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1019.19~18.04.2
Ubuntu:18.04:LTS linux-gcp-edge 0 4.18.0-1004.5~18.04.1
Ubuntu:18.04:LTS linux-hwe 0 4.18.0-13.14~18.04.1
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-37.41~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 5.0.0-15.16~18.04.1
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 4.15.0-1002.3
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1019.19~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1013.13~18.04.1
Ubuntu:18.04:LTS linux-raspi2 0 4.13.0-1005.5
Ubuntu:20.04:LTS linux 0 5.4.0-9.12
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1014.18~20.04.1
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1006.6
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1007.8~20.04.1
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 5.15.0-1019.24~20.04.1.1
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1007.10
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1006.9~20.04.1
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 5.4.0-1008.9
Ubuntu:20.04:LTS linux-gkeop-5.15 0 5.15.0-1003.5~20.04.2
Ubuntu:20.04:LTS linux-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-ibm 0 5.4.0-1003.4
Ubuntu:20.04:LTS linux-ibm-5.15 0 5.15.0-1033.36~20.04.1
Ubuntu:20.04:LTS linux-intel-iotg-5.15 0 5.15.0-1003.5~20.04.1
Ubuntu:20.04:LTS linux-iot 0 5.4.0-1001.3
Ubuntu:20.04:LTS linux-kvm 0 5.4.0-1004.4
Ubuntu:20.04:LTS linux-lowlatency-hwe-5.15 0 5.15.0-33.34~20.04.1
Ubuntu:20.04:LTS linux-oracle 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-oracle-5.15 0 5.15.0-1007.9~20.04.1
Ubuntu:20.04:LTS linux-raspi 0 5.4.0-1007.7
Ubuntu:20.04:LTS linux-raspi2 0 No fix
Ubuntu:20.04:LTS linux-riscv 0 No fix
Ubuntu:20.04:LTS linux-riscv-5.15 0 5.15.0-1015.17~20.04.1
Ubuntu:20.04:LTS linux-xilinx-zynqmp 0 5.4.0-1020.24
Ubuntu:22.04:LTS linux 0 5.13.0-19.19
Ubuntu:22.04:LTS linux-aws 0 5.13.0-1005.6
Ubuntu:22.04:LTS linux-aws-6.8 0 6.8.0-1009.9~22.04.2
Ubuntu:22.04:LTS linux-azure 0 5.13.0-1006.7
Ubuntu:22.04:LTS linux-azure-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-azure-fde 0 5.15.0-1019.24.1
Ubuntu:22.04:LTS linux-gcp 0 5.13.0-1005.6
Ubuntu:22.04:LTS linux-gcp-6.8 0 6.8.0-1010.11~22.04.1
Ubuntu:22.04:LTS linux-gke 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-gkeop 0 5.15.0-1001.2
Ubuntu:22.04:LTS linux-hwe-6.8 0 6.8.0-38.38~22.04.1
Ubuntu:22.04:LTS linux-ibm 0 5.15.0-1002.2
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 No fix
Ubuntu:22.04:LTS linux-intel-iot-realtime 0 5.15.0-1021.26
Ubuntu:22.04:LTS linux-intel-iotg 0 5.15.0-1004.6
Ubuntu:22.04:LTS linux-kvm 0 5.13.0-1004.4
Ubuntu:22.04:LTS linux-lowlatency 0 5.15.0-22.22
Ubuntu:22.04:LTS linux-lowlatency-hwe-6.8 0 6.8.0-38.38.1~22.04.2
Ubuntu:22.04:LTS linux-nvidia 0 5.15.0-1005.5
Ubuntu:22.04:LTS linux-nvidia-6.5 0 6.5.0-1004.4
Ubuntu:22.04:LTS linux-nvidia-6.8 0 6.8.0-1008.8~22.04.1
Ubuntu:22.04:LTS linux-oracle 0 5.13.0-1008.10
Ubuntu:22.04:LTS linux-oracle-6.8 0 6.8.0-1006.6~22.04.3
Ubuntu:22.04:LTS linux-raspi 0 5.13.0-1008.9
Ubuntu:22.04:LTS linux-realtime 0 No fix
Ubuntu:22.04:LTS linux-riscv 0 No fix
Ubuntu:22.04:LTS linux-riscv-6.8 0 6.8.0-38.38.1~22.04.1
Ubuntu:22.04:LTS linux-xilinx-zynqmp 0 5.15.0-1022.26
Ubuntu:22.04:LTS:for:NVIDIA:BlueField linux-bluefield 0 5.15.0-1011.13
Ubuntu:24.04:LTS linux 0 6.5.0-9.9
Ubuntu:24.04:LTS linux-aws 0 6.5.0-1008.8
Ubuntu:24.04:LTS linux-azure 0 6.5.0-1007.7
Ubuntu:24.04:LTS linux-gcp 0 6.5.0-1007.7
Ubuntu:24.04:LTS linux-gke 0 6.8.0-1003.5
Ubuntu:24.04:LTS linux-gkeop 0 6.8.0-1001.3
Ubuntu:24.04:LTS linux-ibm 0 6.5.0-1009.9
Ubuntu:24.04:LTS linux-lowlatency 0 6.5.0-9.9.1
Ubuntu:24.04:LTS linux-nvidia 0 6.8.0-1007.7
Ubuntu:24.04:LTS linux-nvidia-lowlatency 0 6.8.0-1009.9.1
Ubuntu:24.04:LTS linux-oem-6.11 0 6.11.0-1007.7
Ubuntu:24.04:LTS linux-oem-6.8 0 6.8.0-1003.3
Ubuntu:24.04:LTS linux-oracle 0 6.5.0-1010.10
Ubuntu:24.04:LTS linux-raspi 0 6.5.0-1005.7
Ubuntu:24.04:LTS linux-raspi-realtime 0 No fix
Ubuntu:24.04:LTS linux-raspi-realtime 0 6.7.0-2001.1
Ubuntu:24.04:LTS linux-realtime 0 6.8.0-1008.19
Ubuntu:24.04:LTS linux-riscv 0 6.5.0-9.9.1
Ubuntu:24.10 linux 0 6.8.0-31.31
Ubuntu:24.10 linux-aws 0 6.8.0-1008.8
Ubuntu:24.10 linux-azure 0 6.8.0-1007.7
Ubuntu:24.10 linux-gcp 0 6.8.0-1007.7
Ubuntu:24.10 linux-lowlatency 0 6.8.0-31.31.1
Ubuntu:24.10 linux-oracle 0 6.8.0-1005.5
Ubuntu:24.10 linux-raspi 0 6.8.0-1004.4
Ubuntu:24.10 linux-realtime 0 6.11.0-1001.1
Ubuntu:24.10 linux-riscv 0 6.8.0-31.31.1
Ubuntu:Pro:14.04:LTS linux-lts-vivid 0 No fix
Ubuntu:Pro:16.04:LTS linux-euclid 0 No fix
Ubuntu:Pro:16.04:LTS linux-flo 0 No fix
Ubuntu:Pro:16.04:LTS linux-mako 0 No fix
Ubuntu:Pro:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:Pro:20.04:LTS linux-gke 0 No fix
Ubuntu:Pro:20.04:LTS linux-raspi2 0 No fix
Ubuntu:Pro:20.04:LTS linux-riscv 0 No fix
Ubuntu:Pro:FIPS-preview:22.04:LTS linux-aws-fips 0 5.15.0-1051.56+fips1
Ubuntu:Pro:FIPS-preview:22.04:LTS linux-azure-fips 0 5.15.0-1053.61+fips1
Ubuntu:Pro:FIPS-preview:22.04:LTS linux-fips 0 5.15.0-73.80+fips1
Ubuntu:Pro:FIPS-preview:22.04:LTS linux-gcp-fips 0 5.15.0-1048.56+fips1
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-aws-fips 0 4.15.0-2000.4
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-azure-fips 0 4.15.0-1002.2
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-fips 0 4.15.0-1027.32
Ubuntu:Pro:FIPS-updates:18.04:LTS linux-gcp-fips 0 4.15.0-2013.14
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-aws-fips 0 5.4.0-1021.21+fips2
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-azure-fips 0 5.4.0-1022.22+fips1
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-fips 0 5.4.0-1026.30
Ubuntu:Pro:FIPS-updates:20.04:LTS linux-gcp-fips 0 5.4.0-1021.21+fips1
Ubuntu:Pro:FIPS-updates:22.04:LTS linux-aws-fips 0 5.15.0-1052.57+fips1
Ubuntu:Pro:FIPS-updates:22.04:LTS linux-azure-fips 0 5.15.0-1058.66+fips1
Ubuntu:Pro:FIPS-updates:22.04:LTS linux-fips 0 5.15.0-92.102+fips1
Ubuntu:Pro:FIPS-updates:22.04:LTS linux-gcp-fips 0 5.15.0-1048.56+fips1
Ubuntu:Pro:FIPS:16.04:LTS linux-fips 0 No fix
Ubuntu:Pro:FIPS:16.04:LTS linux-fips 0 4.4.0-1008.10
Ubuntu:Pro:FIPS:18.04:LTS linux-aws-fips 0 4.15.0-2000.4
Ubuntu:Pro:FIPS:18.04:LTS linux-azure-fips 0 4.15.0-1002.2
Ubuntu:Pro:FIPS:18.04:LTS linux-fips 0 4.15.0-1011.12
Ubuntu:Pro:FIPS:18.04:LTS linux-gcp-fips 0 4.15.0-1001.1
Ubuntu:Pro:FIPS:20.04:LTS linux-aws-fips 0 5.4.0-1021.21+fips2
Ubuntu:Pro:FIPS:20.04:LTS linux-azure-fips 0 5.4.0-1022.22+fips1
Ubuntu:Pro:FIPS:20.04:LTS linux-fips 0 5.4.0-1007.8
Ubuntu:Pro:FIPS:20.04:LTS linux-gcp-fips 0 5.4.0-1021.21+fips1

Related vulnerabilities