// For flags

CVE-2022-39207

Persistent XSS in OneDev

Severity Score

5.4
*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. During CI/CD builds, it is possible to save build artifacts for later retrieval. They can be accessed through OneDev's web UI after the successful run of a build. These artifact files are served by the webserver in the same context as the UI without any further restrictions. This leads to Cross-Site Scripting (XSS) when a user creates a build artifact that contains HTML. When accessing the artifact, the content is rendered by the browser, including any JavaScript that it contains. Since all cookies (except for the rememberMe one) do not set the HttpOnly flag, an attacker could steal the session of a victim and use it to impersonate them. To exploit this issue, attackers need to be able to modify the content of artifacts, which usually means they need to be able to modify a project's build spec. The exploitation requires the victim to click on an attacker's link. It can be used to elevate privileges by targeting admins of a OneDev instance. In the worst case, this can lead to arbitrary code execution on the server, because admins can create Server Shell Executors and use them to run any command on the server. This issue has been patched in version 7.3.0. Users are advised to upgrade. There are no known workarounds for this issue.

Onedev es un servidor Git de código abierto, auto-alojado con CI/CD y Kanban. Durante las construcciones CI/CD, es posible guardar los artefactos de construcción para su posterior recuperación. Puede accederse a ellos mediante la interfaz web de OneDev después de una ejecución con éxito de una construcción. Estos archivos de artefactos son servidos por el servidor web en el mismo contexto que la Interfaz de Usuario sin más restricciones. Esto conlleva a un ataque de tipo Cross-Site Scripting (XSS) cuando un usuario crea un artefacto de construcción que contiene HTML. Cuando es accedido al artefacto, el contenido es renderizado por el navegador, incluyendo cualquier JavaScript que contenga. Como todas las cookies (excepto la de RememberMe) no establecen el flag HttpOnly, un atacante podría robar la sesión de una víctima y usarla para suplantar su identidad. Para explotar este problema, los atacantes deben ser capaces de modificar el contenido de los artefactos, lo que normalmente significa que deben ser capaces de modificar las especificaciones de construcción de un proyecto. La explotación requiere que la víctima haga clic en un enlace del atacante. Puede usarse para elevar los privilegios al dirigirse a administradores de una instancia de OneDev. En el peor de los casos, esto puede conllevar a una ejecución de código arbitrario en el servidor, ya que los administradores pueden crear ejecutores de shell de servidor y usarlos para ejecutar cualquier comando en el servidor. Este problema ha sido parcheado en versión 7.3.0. Es recomendado a usuarios actualizar. No se presentan mitigaciones conocidas para este problema

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None
* 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-06-02 EPSS Updated
  • 2024-08-03 CVE Updated
  • 2024-08-03 First Exploit
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
CWE
  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
  • CWE-732: Incorrect Permission Assignment for Critical Resource
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