CVE-2024-36115

Reposilite is an open source, lightweight and easy-to-use repository manager for Maven based artifacts in JVM ecosystem. As a Maven repository manager, Reposilite provides the ability to view the artifacts content in the browser, as well as perform administrative tasks via API. The problem lies in the fact that the artifact's content is served via the same origin (protocol/host/port) as the Admin UI. If the artifact contains HTML content with javascript inside, the javascript is executed within the same origin. Therefore, if an authenticated user is viewing the artifacts content, the javascript inside can access the browser's local storage where the user's password (aka 'token-secret') is stored. It is especially dangerous in scenarios where Reposilite is configured to mirror third party repositories, like the Maven Central Repository. Since anyone can publish an artifact to Maven Central under its own name, such malicious packages can be used to attack the Reposilite instance. This issue may lead to the full Reposilite instance compromise. If this attack is performed against the admin user, it's possible to use the admin API to modify settings and artifacts on the instance. In the worst case scenario, an attacker would be able to obtain the Remote code execution on all systems that use artifacts from Reposilite. It's important to note that the attacker does not need to lure a victim user to use a malicious artifact, but just open a link in the browser. This link can be silently loaded among the other HTML content, making this attack unnoticeable. Even if the Reposilite instance is located in an isolated environment, such as behind a VPN or in the local network, this attack is still possible as it can be performed from the admin browser. Reposilite has addressed this issue in version 3.5.12. Users are advised to upgrade. There are no known workarounds for this vulnerability. This issue was discovered and reported by the GitHub Security lab and is also tracked as GHSL-2024-072.
Configurations

No configuration.

History

21 Nov 2024, 09:21

Type Values Removed Values Added
References () https://github.com/dzikoysk/reposilite/commit/279a472015ec675c1da449d902dc82e4dd578484 - () https://github.com/dzikoysk/reposilite/commit/279a472015ec675c1da449d902dc82e4dd578484 -
References () https://github.com/dzikoysk/reposilite/commit/d11609f427aba255e0f6f54b1105d5d20ab043cf - () https://github.com/dzikoysk/reposilite/commit/d11609f427aba255e0f6f54b1105d5d20ab043cf -
References () https://github.com/dzikoysk/reposilite/releases/tag/3.5.12 - () https://github.com/dzikoysk/reposilite/releases/tag/3.5.12 -
References () https://github.com/dzikoysk/reposilite/security/advisories/GHSA-9w8w-34vr-65j2 - () https://github.com/dzikoysk/reposilite/security/advisories/GHSA-9w8w-34vr-65j2 -

20 Jun 2024, 12:43

Type Values Removed Values Added
Summary
  • (es) Reposilite es un administrador de repositorio de código abierto, liviano y fácil de usar para artefactos basados en Maven en el ecosistema JVM. Como administrador de repositorio de Maven, Reposilite brinda la capacidad de ver el contenido de los artefactos en el navegador, así como realizar tareas administrativas a través de API. El problema radica en el hecho de que el contenido del artefacto se entrega a través del mismo origen (protocolo/host/puerto) que la interfaz de usuario del administrador. Si el artefacto contiene contenido HTML con javascript dentro, el javascript se ejecuta dentro del mismo origen. Por lo tanto, si un usuario autenticado está viendo el contenido de los artefactos, el javascript interno puede acceder al almacenamiento local del navegador donde se almacena la contraseña del usuario (también conocida como 'token-secret'). Es especialmente peligroso en escenarios donde Reposilite está configurado para reflejar repositorios de terceros, como el Repositorio Central de Maven. Dado que cualquiera puede publicar un artefacto en Maven Central con su propio nombre, dichos paquetes maliciosos se pueden utilizar para atacar la instancia de Reposilite. Este problema puede provocar que la instancia de Reposilite se vea comprometida por completo. Si este ataque se realiza contra el usuario administrador, es posible utilizar la API de administrador para modificar la configuración y los artefactos en la instancia. En el peor de los casos, un atacante podría obtener la ejecución remota de código en todos los sistemas que utilicen artefactos de Reposilite. Es importante tener en cuenta que el atacante no necesita atraer al usuario víctima para que utilice un artefacto malicioso, sino simplemente abrir un enlace en el navegador. Este enlace se puede cargar silenciosamente entre el resto del contenido HTML, lo que hace que este ataque pase desapercibido. Incluso si la instancia de Reposilite está ubicada en un entorno aislado, como detrás de una VPN o en la red local, este ataque aún es posible ya que se puede realizar desde el navegador de administración. Reposilite ha solucionado este problema en la versión 3.5.12. Se recomienda a los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad. Este problema fue descubierto e informado por el laboratorio de seguridad de GitHub y también se rastrea como GHSL-2024-072.

19 Jun 2024, 18:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-06-19 18:15

Updated : 2024-11-21 09:21


NVD link : CVE-2024-36115

Mitre link : CVE-2024-36115

CVE.ORG link : CVE-2024-36115


JSON object : View

Products Affected

No product.

CWE
CWE-79

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')