Cloudanix VulnDB

CVE-2019-5188

Medium · 6.7

CVSS

6.7

EPSS

1.1%

Published

Jan 8, 2020

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A flaw in a common Linux disk-checking tool can let someone with full system access run their own code by feeding it a specially broken hard-drive partition.

Exploit Available
Exploitation
Local Privilege
Attacker needs
High Privilege
Complexity
Moderate
Impact
Full Compromise
Component
Application
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability is an out-of-bounds write on the stack in the directory rehashing functionality of e2fsck, triggered by a specially crafted ext4 directory entry, enabling arbitrary code execution.

Why it matters to the business

A local attacker with administrative access can corrupt an ext4 filesystem image to gain code execution on affected systems, potentially leading to full host compromise during filesystem checks or maintenance operations; the issue affects widely used storage tooling with no ransomware or broad exploitation observed.

How an attack unfolds

An attacker prepares a malicious ext4 partition containing a crafted directory structure, mounts or presents it to the target, and triggers e2fsck to process the directory rehashing code path, resulting in a stack-based write that redirects execution to attacker-controlled code.

How to fix it

Upgrade e2fsprogs to a version newer than 1.45.4; for the listed package, apply the fix at commit 311acbc4e7bd38fa3f3d0e158b35cde9ef73f8e5 or later equivalent release.

How to confirm the fix worked

Confirm e2fsprogs version is greater than 1.45.4, run e2fsck against known-good and test-crafted images to verify absence of the crash or write, and review package changelogs for the directory rehashing fixes.

Typical attack path

  1. Obtain local administrative privileges on the target system
  2. Craft or obtain a malicious ext4 filesystem image with a specially formatted directory
  3. Cause e2fsck to run against the corrupted partition (e.g., during boot, fsck, or manual invocation)
  4. Trigger the directory rehashing routine to perform the out-of-bounds stack write
  5. Execute arbitrary code in the context of the e2fsck process

How to detect it

Review system logs for unexpected e2fsck crashes or segmentation faults during filesystem checks, inspect audit logs for invocations of e2fsck on untrusted or newly introduced partitions, and look for post-exploitation artifacts such as modified binaries or unexpected processes spawned from fsck contexts.

What your security team should do

  • Prioritize patching e2fsprogs on all systems that perform ext4 filesystem checks
  • Restrict local administrative access to reduce the attack surface for local privilege-escalation paths
  • Monitor filesystem integrity tools for unexpected crashes or high-privilege process anomalies
  • Include e2fsprogs in regular vulnerability scanning and patch management workflows

The record

A code execution vulnerability exists in the directory rehashing functionality of E2fsprogs e2fsck 1.45.4. A specially crafted ext4 directory can cause an out-of-bounds write on the stack, resulting in code execution. An attacker can corrupt a partition to trigger this vulnerability.

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.10 e2fsprogs 0 1.45.5-r0
Alpine:v3.11 e2fsprogs 0 1.45.5-r0
Alpine:v3.12 e2fsprogs 0 1.45.5-r0
Alpine:v3.13 e2fsprogs 0 1.45.5-r0
Alpine:v3.14 e2fsprogs 0 1.45.5-r0
Alpine:v3.15 e2fsprogs 0 1.45.5-r0
Alpine:v3.16 e2fsprogs 0 1.45.5-r0
Alpine:v3.17 e2fsprogs 0 1.45.5-r0
Alpine:v3.18 e2fsprogs 0 1.45.5-r0
Alpine:v3.19 e2fsprogs 0 1.45.5-r0
Alpine:v3.20 e2fsprogs 0 1.45.5-r0
Alpine:v3.21 e2fsprogs 0 1.45.5-r0
Alpine:v3.22 e2fsprogs 0 1.45.5-r0
Alpine:v3.8 e2fsprogs 0 1.44.2-r2
Alpine:v3.9 e2fsprogs 0 1.44.5-r2
Debian:11 e2fsprogs 0 1.45.5-1
Debian:12 e2fsprogs 0 1.45.5-1
Debian:13 e2fsprogs 0 1.45.5-1
Debian:8 e2fsprogs 0 1.42.12-2+deb8u2
Debian:9 e2fsprogs 0 1.43.4-2+deb9u2
Mageia:7 e2fsprogs 0 1.45.5-1.mga7
Red Hat:enterprise_linux:7::client e2fsprogs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client e2fsprogs-debuginfo 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client e2fsprogs-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client e2fsprogs-libs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client e2fsprogs-static 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client libcom_err 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client libcom_err-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client libss 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::client libss-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode e2fsprogs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode e2fsprogs-debuginfo 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode e2fsprogs-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode e2fsprogs-libs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode e2fsprogs-static 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode libcom_err 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode libcom_err-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode libss 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::computenode libss-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server e2fsprogs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server e2fsprogs-debuginfo 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server e2fsprogs-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server e2fsprogs-libs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server e2fsprogs-static 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server libcom_err 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server libcom_err-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server libss 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::server libss-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation e2fsprogs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation e2fsprogs-debuginfo 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation e2fsprogs-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation e2fsprogs-libs 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation e2fsprogs-static 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation libcom_err 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation libcom_err-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation libss 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:7::workstation libss-devel 0 0:1.42.9-19.el7
Red Hat:enterprise_linux:8::baseos e2fsprogs 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos e2fsprogs-debuginfo 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos e2fsprogs-debugsource 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos e2fsprogs-devel 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos e2fsprogs-libs 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos e2fsprogs-libs-debuginfo 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos libcom_err 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos libcom_err-debuginfo 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos libcom_err-devel 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos libss 0 0:1.45.4-3.el8
Red Hat:enterprise_linux:8::baseos libss-debuginfo 0 0:1.45.4-3.el8
SUSE:Linux Enterprise Desktop 12 SP4 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Module for Basesystem 15 e2fsprogs 0 1.43.8-4.17.1
SUSE:Linux Enterprise Module for Basesystem 15 SP1 e2fsprogs 0 1.43.8-4.17.1
SUSE:Linux Enterprise Server 12 SP4 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Server 12 SP5 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP4 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP5 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Software Development Kit 12 SP4 e2fsprogs 0 1.43.8-3.11.1
SUSE:Linux Enterprise Software Development Kit 12 SP5 e2fsprogs 0 1.43.8-3.11.1
Ubuntu:16.04:LTS e2fsprogs 0 1.42.13-1ubuntu1.2
Ubuntu:18.04:LTS e2fsprogs 0 1.44.1-1ubuntu1.3
Ubuntu:Pro:14.04:LTS e2fsprogs 0 1.42.9-3ubuntu1.3+esm2
openSUSE:Leap 15.1 e2fsprogs 0 1.43.8-lp151.5.12.1

Related vulnerabilities