RESUMEN
Las credenciales privadas del repositorio maven se filtran en los logs de la aplicación en caso de operación de recuperación fallida.
- Paquete afectado: github.com/updatecli/updatecli [Go]
- Versiones afectadas: < 0.93.0
- Versión parcheada: 0.93.0
- Gravedad: Alta [7.5 / 10]
DESCRIPCIÓN
Durante la ejecución de un pipeline updatecli que contiene una fuente maven configurada con credenciales básicas auth, las credenciales se están filtrando en los logs de ejecución de la aplicación en caso de fallo.
Las credenciales se desinfectan correctamente cuando la operación tiene éxito, pero no cuando por cualquier razón hay un fallo en el repositorio de maven, por ejemplo, coordenadas incorrectas, artefacto o versión no existente.
POC
Actualmente, la documentación indica que se deben proporcionar las credenciales de usuario como autenticación básica dentro del campo de repositorio.
sources:
default:
kind: maven
spec:
repository: "{{ requiredEnv "MAVEN_USERNAME" }}:{{ requiredEnv "MAVEN_PASS" }}@repo.example.org/releases"
groupid: "org.example.company"
artifactid: "my-artifact"
versionFilter:
kind: regex
pattern: "^23(\.[0-9]+){1,2}$"
Los registros son correctamente sanitizados en caso de operación satisfactoria:
source: source#default
-----------------------------------------------------------
Searching for version matching pattern "^23(\\.[0-9]+){1,2}$"
✔ Latest version is 23.4.0 on the Maven repository at https://repo.example.org/releases/org/example/company/my-artifact/maven-metadata.xml
pero filtra las credenciales en caso de que las coordenadas GAV sean erróneas [nombre del paquete mal escrito o inexistente]:
source: source#default
-----------------------------------------------------------
ERROR: ✗ getting latest version: URL "https://REDACTED:REDACTED@repo.example.org/releases/org/example/company/wrong-artifact/maven-metadata.xml" not found or in error
IMPACTO
Las credenciales/token de usuario utilizadas para autenticarse contra un repositorio maven privado pueden filtrarse como texto plano en los logs de la consola o de CI.