Programa: weblate
5 reportes publicados, del más reciente al más antiguo.
Weblate: IDOR sin autenticación permitía modificar los datos de facturación asociados a un pago
La página de edición de pagos de Weblate no comprobaba ni la sesión ni los permisos: bastaba con conocer el UUID de un pago para cambiar el nombre y la dirección de facturación del cliente.
2 min
SSRF en el cliente wlc de Weblate por discrepancia entre analizadores de URL en normalize_request_url
wlc valida el origen de las URL con urlparse, pero requests las resuelve con urllib3. Una barra invertida antes de la @ hace que ambos vean hosts distintos, y un servidor malicioso puede redirigir las peticiones del cliente a cualquier host.
5 min
Weblate: una búsqueda sin autenticar de 33 bytes consumía 52 s de CPU y frenaba a todos los usuarios
La gramática de búsqueda de Weblate sufría backtracking exponencial. Una consulta ?q= diminuta y sin autenticar consumía casi un minuto de CPU bajo un lock global, dejando inservible toda la instancia.
4 min
wlc, el cliente de Weblate, enviaba el token de $WLC_KEY a la URL que fijase un fichero .weblate no confiable
wlc tomaba la URL de la API de un fichero .weblate del directorio actual o de cualquier directorio superior, y le mandaba el token de $WLC_KEY sin comprobar el origen. Un .weblate malicioso bastaba para robar el token.
4 min
Weblate: inyección de argumentos en Mercurial vía HgRepository.get_file() permite ejecutar comandos (fix incompleto de CVE-2022-23915)
Weblate pasaba el nombre de la plantilla de un componente a `hg cat` sin el separador `--`. Un editor de componentes con permisos de proyecto podía inyectar `--config` y ejecutar comandos como la cuenta de servicio de Weblate.
5 min