Vulnerabilidad en notion-go (CVE-2024-51491)
Gravedad CVSS v3.1:
BAJA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/01/2025
Última modificación:
14/01/2025
Descripción
notion-go es una colección de Librerías para respaldar la firma y verificación de artefactos OCI. Basado en las especificaciones del Proyecto Notary. El problema se identificó durante la auditoría de seguridad de Quarkslab sobre la función de verificación de revocación basada en la Lista de revocación de certificados (CRL). Después de recuperar la CRL, notation-go intenta actualizar la caché de CRL utilizando el método os.Rename. Sin embargo, esta operación puede fallar debido a limitaciones específicas de sistema operativo, en particular cuando las rutas de origen y destino están en diferentes puntos de montaje. Este fallo podría provocar una finalización inesperada del programa. En el método `crl.(*FileCache).Set`, se crea un archivo temporal en el área dedicada del SO (como /tmp para, por lo general, Linux/Unix). El archivo se escribe y luego se intenta moverlo al directorio de caché dedicado de `notation` gracias a `os.Rename`. Como se especifica en la documentación de Go, pueden aplicarse restricciones específicas del SO. Cuando se utiliza con el sistema operativo Linux, se basa en la llamada al sistema de cambio de nombre de la libc y, según la documentación, mover un archivo a un punto de montaje diferente genera un error EXDEV, que se interpreta como un error de vínculo entre dispositivos no permitido. Algunas distribuciones de Linux, como RedHat, utilizan un sistema de archivos dedicado (tmpfs), montado en un punto de montaje específico (normalmente /tmp) para archivos temporales. Cuando se utiliza dicho sistema operativo, la comprobación de revocación basada en CRL bloqueará repetidamente la notación. Como resultado, el proceso de verificación de firma se cancela a medida que el proceso se bloquea. Este problema se ha solucionado en la versión 1.3.0-rc.2 y se recomienda a todos los usuarios que actualicen. No se conocen Workarounds para esta vulnerabilidad.
Impacto
Puntuación base 3.x
3.30
Gravedad 3.x
BAJA
Referencias a soluciones, herramientas e información
- https://github.com/notaryproject/notation-go/commit/3c3302258ad510fbca2f8a73731569d91f07d196
- https://github.com/notaryproject/notation-go/security/advisories/GHSA-qjh3-4j3h-vmwp
- https://man7.org/linux/man-pages/man2/rename.2.html
- https://github.com/notaryproject/notation-go/security/advisories/GHSA-qjh3-4j3h-vmwp