Cloudanix VulnDB

CVE-2017-18249

High · 7.0

CVSS

7.0

EPSS

0.3%

Published

Mar 26, 2018

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A long-standing bug in how the Linux kernel manages certain file-system operations could let someone who already has access to the machine crash it or cause other problems by running programs at the same time.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
High
Impact
Denial Of Service
Component
OS kernel
Class
Race Condition
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

Failure to properly track an allocated nid in fs/f2fs/node.c allows concurrent threads to trigger a race condition, resulting in denial of service or potential memory corruption and privilege escalation on affected Linux kernels.

Why it matters to the business

Local users on systems using the F2FS filesystem can trigger kernel-level crashes or instability, leading to unplanned downtime and potential data loss on servers or embedded devices; the issue has been public for over eight years with no known active exploitation campaigns.

How an attack unfolds

An attacker with local shell access compiles or runs a program that spawns multiple threads simultaneously invoking add_free_nid on an F2FS volume, racing the nid tracking logic to produce a use-after-free or double-free condition that crashes the kernel or yields elevated privileges.

How to fix it

Upgrade the Linux kernel to a version containing commit 30a61ddf8117c26ac5b295e1233eaa9629a94ca3 or any later mainline or distribution backport that properly tracks allocated nids in add_free_nid.

How to confirm the fix worked

Verify the running kernel contains commit 30a61ddf8117c26ac5b295e1233eaa9629a94ca3 via git log or package version; run stress tests exercising F2FS node allocation under concurrency and confirm absence of crashes or warnings.

Typical attack path

  1. Obtain local user access on a Linux system mounting F2FS
  2. Write or obtain a multithreaded program that exercises node allocation paths
  3. Trigger concurrent calls to add_free_nid under load
  4. Observe kernel panic, oops, or attempt to leverage resulting memory corruption for code execution

How to detect it

Review kernel logs (dmesg, /var/log/kern.log) for F2FS-related oops, warnings, or panic messages mentioning node.c or nid allocation; correlate with process activity showing high concurrency on F2FS mounts.

What your security team should do

  • Apply the fixed kernel commit or distribution update to all systems using F2FS as soon as possible
  • Audit workloads for F2FS usage and migrate to ext4 or XFS where F2FS is not required
  • Enable kernel hardening features such as KASAN in test environments to surface similar races early

The record

The add_free_nid function in fs/f2fs/node.c in the Linux kernel before 4.12 does not properly track an allocated nid, which allows local users to cause a denial of service (race condition) or possibly have unspecified other impact via concurrent threads.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.12.6-1
Debian:12 linux 0 4.12.6-1
Debian:13 linux 0 4.12.6-1
Debian:8 linux-4.9 0 4.9.144-3.1~deb8u1
SUSE:Enterprise Storage 4 kernel-default 0 4.4.121-92.85.1
SUSE:Enterprise Storage 4 kernel-source 0 4.4.121-92.85.1
SUSE:Enterprise Storage 4 kernel-syms 0 4.4.121-92.85.1
SUSE:Enterprise Storage 4 kgraft-patch-SLE12-SP2_Update_23 0 1-3.5.1
SUSE:Linux Enterprise Desktop 12 SP3 kernel-default 0 4.4.138-94.39.1
SUSE:Linux Enterprise Desktop 12 SP3 kernel-source 0 4.4.138-94.39.1
SUSE:Linux Enterprise Desktop 12 SP3 kernel-syms 0 4.4.138-94.39.1
SUSE:Linux Enterprise High Availability Extension 12 SP3 kernel-default 0 4.4.138-94.39.1
SUSE:Linux Enterprise Live Patching 12 SP3 kgraft-patch-SLE12-SP3_Update_14 0 1-4.5.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt 0 4.4.138-3.14.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt 0 4.4.172-3.35.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt_debug 0 4.4.138-3.14.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-rt_debug 0 4.4.172-3.35.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-source-rt 0 4.4.138-3.14.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-source-rt 0 4.4.172-3.35.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-syms-rt 0 4.4.138-3.14.1
SUSE:Linux Enterprise Real Time 12 SP3 kernel-syms-rt 0 4.4.172-3.35.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-default 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-source 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-BCL kernel-syms 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-BCL kgraft-patch-SLE12-SP2_Update_23 0 1-3.5.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-default 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-source 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kernel-syms 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server 12 SP2-LTSS kgraft-patch-SLE12-SP2_Update_23 0 1-3.5.1
SUSE:Linux Enterprise Server 12 SP3 kernel-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Server 12 SP3 kernel-default 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server 12 SP3 kernel-source 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server 12 SP3 kernel-source-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Server 12 SP3 kernel-syms 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server 12 SP3 kernel-syms-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-default 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-source 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kernel-syms 0 4.4.121-92.85.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 kgraft-patch-SLE12-SP2_Update_23 0 1-3.5.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-default 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-source 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-source-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-syms 0 4.4.138-94.39.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 kernel-syms-azure 0 4.4.176-4.25.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 kernel-docs 0 4.4.138-94.39.1
SUSE:Linux Enterprise Software Development Kit 12 SP3 kernel-obs-build 0 4.4.138-94.39.1
SUSE:Linux Enterprise Workstation Extension 12 SP3 kernel-default 0 4.4.138-94.39.1
SUSE:OpenStack Cloud 7 kernel-default 0 4.4.121-92.85.1
SUSE:OpenStack Cloud 7 kernel-source 0 4.4.121-92.85.1
SUSE:OpenStack Cloud 7 kernel-syms 0 4.4.121-92.85.1
SUSE:OpenStack Cloud 7 kgraft-patch-SLE12-SP2_Update_23 0 1-3.5.1
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1040.43
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-144.170~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-145.171
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1079.89
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.13.0-1005.7
Ubuntu:16.04:LTS linux-gcp 0 4.13.0-1002.5
Ubuntu:16.04:LTS linux-hwe 0 4.13.0-26.29~16.04.2
Ubuntu:16.04:LTS linux-hwe 0 4.13.0-32.35~16.04.1
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1043.49
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-1106.114
Ubuntu:16.04:LTS linux-snapdragon 0 4.4.0-1110.115
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-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:18.04:LTS linux-snapdragon 0 4.15.0-1053.57
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-azure-6.11 0 No fix
Ubuntu:24.04:LTS linux-gcp 0 6.5.0-1007.7
Ubuntu:24.04:LTS linux-gcp-6.11 0 No fix
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-hwe-6.11 0 No fix
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-lowlatency-hwe-6.11 0 No fix
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 0 No fix
Ubuntu:Pro:14.04:LTS linux-lts-utopic 0 No fix
Ubuntu:Pro:14.04:LTS linux-lts-vivid 0 No fix
Ubuntu:Pro:14.04:LTS linux-lts-wily 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-goldfish 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-azure-fde-5.15 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

Related vulnerabilities