// For flags

CVE-2022-39206

CI/CD Docker Escape in OneDev

Severity Score

9.9
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

1
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

-
*SSVC
Descriptions

Onedev is an open source, self-hosted Git Server with CI/CD and Kanban. When using Docker-based job executors, the Docker socket (e.g. /var/run/docker.sock on Linux) is mounted into each Docker step. Users that can define and trigger CI/CD jobs on a project could use this to control the Docker daemon on the host machine. This is a known dangerous pattern, as it can be used to break out of Docker containers and, in most cases, gain root privileges on the host system. This issue allows regular (non-admin) users to potentially take over the build infrastructure of a OneDev instance. Attackers need to have an account (or be able to register one) and need permission to create a project. Since code.onedev.io has the right preconditions for this to be exploited by remote attackers, it could have been used to hijack builds of OneDev itself, e.g. by injecting malware into the docker images that are built and pushed to Docker Hub. The impact is increased by this as described before. Users are advised to upgrade to 7.3.0 or higher. There are no known workarounds for this issue.

Onedev es un servidor Git de código abierto, auto-alojado con CI/CD y Kanban. Cuando son usados ejecutores de trabajos basados en Docker, el socket de Docker (por ejemplo, /var/run/docker.sock en Linux) es montado en cada paso de Docker. Los usuarios que pueden definir y desencadenar trabajos CI/CD en un proyecto podrían usar esto para controlar el demonio Docker en la máquina anfitriona. Este es un patrón peligroso conocido, ya que puede ser usado para salir de los contenedores Docker y, en la mayoría de los casos, conseguir privilegios de root en el sistema anfitrión. Este problema permite a usuarios normales (no administradores) tomar potencialmente el control de la infraestructura de construcción de una instancia de OneDev. Los atacantes necesitan tener una cuenta (o ser capaces de registrar una) y necesitan permiso para crear un proyecto. Dado que code.onedev.io presenta las condiciones previas apropiadas para que esto sea explotado por atacantes remotos, podría haber sido usado para secuestrar las construcciones de OneDev en sí, por ejemplo, mediante la inyección de malware en las imágenes Docker que son construidas y son empujadas a Docker Hub. El impacto es incrementado por esto como ha sido descrito anteriormente. Es recomendado a usuarios actualizar a versión 7.3.0 o superior. No se presentan mitigaciones conocidas para este problema

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High
* Common Vulnerability Scoring System
SSVC
  • Decision:-
Exploitation
-
Automatable
-
Tech. Impact
-
* Organization's Worst-case Scenario
Timeline
  • 2022-09-02 CVE Reserved
  • 2022-09-13 CVE Published
  • 2024-05-04 EPSS Updated
  • 2024-08-03 CVE Updated
  • 2024-08-03 First Exploit
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-610: Externally Controlled Reference to a Resource in Another Sphere
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Onedev Project
Search vendor "Onedev Project"
Onedev
Search vendor "Onedev Project" for product "Onedev"
< 7.3.0
Search vendor "Onedev Project" for product "Onedev" and version " < 7.3.0"
-
Affected