CVE-2022-39206
CI/CD Docker Escape in OneDev
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
1Exploited in Wild
-Decision
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
CVSS Scores
SSVC
- Decision:-
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
References (3)
URL | Tag | Source |
---|---|---|
https://github.com/theonedev/onedev/security/advisories/GHSA-gjq9-4xx9-cr3q | Third Party Advisory |
URL | Date | SRC |
---|---|---|
https://blog.sonarsource.com/onedev-remote-code-execution | 2024-08-03 |
URL | Date | SRC |
---|---|---|
https://github.com/theonedev/onedev/commit/0052047a5b5095ac6a6b4a73a522d0272fec3a22 | 2022-10-01 |
URL | Date | SRC |
---|
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
|