Skip to main content

Excessive Privileges - Docker

Description

The containers executed in the application do not properly restrict the privileges of the users, executing tasks with root user instead of a custom user.

Impact

Gain total control of the container.

Recommendation

  • Restrict the privileges of the user that execute instructions inside the container.
  • Avoid the use of the root user as default user.

Threat

Authenticated attacker with local access to the container.

Expected Remediation Time

⌚ 15 minutes.

Score

Default score using CVSS 3.1. It may change depending on the context of the vulnerability.

Base

  • Attack vector: L
  • Attack complexity: L
  • Privileges required: L
  • User interaction: N
  • Scope: U
  • Confidentiality: L
  • Integrity: L
  • Availability: L

Temporal

  • Exploit code madurity: P
  • Remediation level: O
  • Report confidence: C

Result

  • Vector string: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C
  • Score:
    • Base: 5.3
    • Temporal: 4.8
  • Severity:
    • Base: Medium
    • Temporal: Medium

Code Examples

Compliant code

The containers have specific user configurations to restrict access and ensuring running as non-root

FROM ubuntu:[email protected]:3235326357dfb65f1781dbc4df3b834546d8bf914e82cce58e6e6b676e23 AS ubuntu
ARG DEBIAN_FRONTEND=noninteractive
RUN useradd -ms /bin/bash newuser
USER newuser
RUN apt update
RUN apt install -y nginx php-fpm supervisor && \
rm -rf /var/lib/apt/lists/* && \
apt clean

Non compliant code

The container is insecurely configured. There is no command to create a group or user

FROM ubuntu:[email protected]:3235326357dfb65f1781dbc4df3b834546d8bf914e82cce58e6e6b676e23 AS ubuntu
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update
RUN apt install -y nginx php-fpm supervisor && \
rm -rf /var/lib/apt/lists/* && \
apt clean

Details

https://docs.docker.com/engine/reference/builder/#user

Requirements