SecPod

Learn Search

Search across all Learn content

← Back to Security Research
Watch out for Alpine Linux Docker Image Root login Vulnerability

Watch out for Alpine Linux Docker Image Root login Vulnerability

May 14, 2019By Ashwitha Kallalike3 min read

Alpine Linux is a simple and resource efficient OS which was built based on muscl and Busybox. Due to these optimized features, Alpine Linux behaves as a great docker container.

Security researchers discovered a security vulnerability in the Alpine Linux docker image (since v3.3). Alpine Linux docker image has default root credentials with an empty or null password when it utilizes linux-pam or mechanisms which rely on system shadow file as an authentication database. Obviously, enabling the root login with a blank password is dangerously concerning. However, researchers found and patched this vulnerability, assigned with CVE-2019-5021, in the year 2015. Unfortunately, it was re-introduced in December 2015. You can remediate vulnerabilities like this by using an appropriate patch management software.

What is the Alpine Linux Vulnerability about?

Alpine Linux docker images have an empty or null password for the ‘root’ user when it utilizes shadow or linux-pam packages. Any logged-in non-root user can elevate their privileges to root within the container. However, the non-root user can take full control of the container by elevating privileges to root.

CVSS v3.0 Severity and Metrics:Base Score: 9.8 HIGHVector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS v2.0 Severity and Metrics:Base Score: 10.0 HIGHVector: AV:N/AC:L/Au:N/C:C/I:C/A:C

Affected OS: Alpine Linux Docker image versions 3.3 through 3.9 with shadow or linux-pam installed.

Affected component: Authentication database like System Shadow file (/etc/shadow) or Linux PAM

Are your Alpine Linux container subjected to this vulnerability?

You can identify whether Alpine Linux containers are vulnerable or not by checking the /etc/shadow file in the system. In fact, the container is vulnerable to Alpine Linux Vulnerability if the root password field is empty as shown below,

Vulnerable: Alpine Linux Docker container 3.5.3
Vulnerable: Alpine Linux Docker container 3.5.3

The patched container has updated /etc/shadow file to include ‘!’ for root user. In the context of the /etc/passwd file, the presence of ‘!’ or ‘*’ for the root login indicates that the root login is locked for editing. On the other hand, if the password field is empty, it indicates that the root login is vulnerable to the attack.

Non Vulnerable: Alpine Linux Docker container 3.9.2
Non Vulnerable: Alpine Linux Docker container 3.9.2

You can use the below shell script to determine whether your Alpine container is vulnerable or not:

plaintext
#!/bin/bash

var=$(grep -shoP "root:(.*?):" /etc/shadow)
echo $var
var=${var:5:-1}
if [ "$var" == "!" ]
then
echo "System is patched"
elif ["$var" == ""]
then
echo "System is vulnerable"
fi

Mitigation for Alpine Linux Vulnerability:

Upgrade your images to the supported non-vulnerable versions.

Fixes are provided only to the supported Alpine Linux Docker image versions 3.6, 3.7, 3.8 and 3.9. Users who are using vulnerable images can upgrade to the below mentioned patched versions:

  • v3.9.2
  • v3.8.4
  • v3.7.3
  • v3.6.5

Workaround:1) You can mitigate this vulnerability by disabling the root account in the docker images built using affected Alpine versions as a base. To do this, update the /etc/passwd file as shown below, which will disable the root account.To prevent these attacks from occurring, deploy patches regularly with a continuous and automated patch management software.

plaintext
root:x:0:0:root:/root:/bin/bash => root:x:0:0:root:/root:/sbin/nologin

Featured Posts

Open CVE-2026-31431: From 732 Bytes to Root - Anatomy of a Modern Linux Privilege Escalation

CVE-2026-31431: From 732 Bytes to Root - Anatomy of a Modern Linux Privilege Escalation

CVE Research

CVE-2026-31431: From 732 Bytes to Root - Anatomy of a Modern Linux Privilege Escalation

Jun 24, 2026

Open CVE-2026-31431: The Nine-Year Kernel Bug Hiding in Plain Sight

CVE-2026-31431: The Nine-Year Kernel Bug Hiding in Plain Sight

CVE Research

CVE-2026-31431: The Nine-Year Kernel Bug Hiding in Plain Sight

Jun 23, 2026

Open Squidbleed: A 29-Year-Old Squid Proxy Flaw That Leaks Cleartext HTTP Requests
Squidbleed: A 29-Year-Old Squid Proxy Flaw That Leaks Cleartext HTTP Requests

CVE Research

Squidbleed: A 29-Year-Old Squid Proxy Flaw That Leaks Cleartext HTTP Requests

Jun 23, 2026

Open AryStinger Malware Leverages 4,300+ Legacy Routers to Establish Persistent Spy Infrastructure
AryStinger Malware Leverages 4,300+ Legacy Routers to Establish Persistent Spy Infrastructure

CVE Research

AryStinger Malware Leverages 4,300+ Legacy Routers to Establish Persistent Spy Infrastructure

AryStinger represents a calculated shift in IoT threat methodology, abandoning noisy, destructive payloads in favor of silent, long-term reconnaissance infrastructure. By exploiting unpatched, end-of-life routers and NAS devices through decade-old vulnerabilities, the threat operator has assembled a distributed fleet of over 4,300 Executor nodes capable of conducting parallelized DNS enumeration, port scanning, and service fingerprinting at scale, all while masking origin behind residential IP addresses. With active development ongoing and a potential operational timeline stretching back to 2024, AryStinger underscores a growing and underappreciated risk: forgotten edge hardware is not merely a compliance gap but exploitable infrastructure.

Jun 23, 2026

Watch out for Alpine Linux Docker Image Root login Vulnerability | SecPod