Vulnerabilidad en Go (CVE-2023-45825)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-532
Exposición de información a través de archivos de log
Fecha de publicación:
19/10/2023
Última modificación:
27/10/2023
Descripción
ydb-go-sdk es un controlador de base de datos/sql y nativo de Go puro para la plataforma YDB. Desde ydb-go-sdk v3.48.6, si usa un objeto de credenciales personalizado (implementación de la interfaz Credenciales, puede filtrarse en los registros. Esto sucede porque este objeto podría serializarse en un mensaje de error usando `fmt.Errorf("something went wrong (credentials: %q)", credenciales)` durante la conexión al servidor YDB. Si se produjera dicho registro, un usuario malintencionado con acceso a los registros podría leer información confidencial (es decir, credenciales) y utilizarla para obtener acceso a la base de datos. ydb- go-sdk contiene este problema en las versiones de v3.48.6 a v3.53.2. La solución para este problema se publicó en la versión v3.53.3. Se recomienda a los usuarios que actualicen. Los usuarios que no puedan actualizar deben implementar la interfaz `fmt.Stringer` en su tipo de credenciales personalizadas con cadena explícita del estado del objeto.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:ydb:ydb-go-sdk:*:*:*:*:*:go:*:* | 3.48.6 (incluyendo) | 3.53.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/ydb-platform/ydb-go-sdk/blob/master/credentials/credentials.go#L10
- https://github.com/ydb-platform/ydb-go-sdk/blob/v3.48.6/internal/balancer/balancer.go#L71
- https://github.com/ydb-platform/ydb-go-sdk/pull/859
- https://github.com/ydb-platform/ydb-go-sdk/security/advisories/GHSA-q24m-6h38-5xj8