Vulnerabilidad en electron-updater (CVE-2024-39698)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-295
Validación incorrecta de certificados
Fecha de publicación:
09/07/2024
Última modificación:
12/07/2024
Descripción
electron-updater permite actualizaciones automáticas para las aplicaciones de Electron. El archivo `packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts` implementa la rutina de validación de firmas para aplicaciones Electron en Windows. Debido al shell circundante, un primer paso por `cmd.exe` expande cualquier variable de entorno que se encuentre en la línea de comandos anterior. Esto crea una situación en la que se puede engañar a `verifySignature()` para que valide el certificado de un archivo diferente al que se acaba de descargar. Si el paso tiene éxito, la actualización maliciosa se ejecutará incluso si su firma no es válida. Este ataque supone un manifiesto de actualización comprometido (compromiso del servidor, ataque Man-in-the-Middle si se obtiene a través de HTTP, Cross Site Scripting para apuntar la aplicación a un servidor de actualización malicioso, etc.). El parche está disponible a partir de 6.3.0-alpha.6.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:electron:electron-builder:*:*:*:*:*:node.js:*:* | 6.3.0 (excluyendo) | |
cpe:2.3:a:electron:electron-builder:6.3.0:alpha0:*:*:*:node.js:*:* | ||
cpe:2.3:a:electron:electron-builder:6.3.0:alpha1:*:*:*:node.js:*:* | ||
cpe:2.3:a:electron:electron-builder:6.3.0:alpha2:*:*:*:node.js:*:* | ||
cpe:2.3:a:electron:electron-builder:6.3.0:alpha3:*:*:*:node.js:*:* | ||
cpe:2.3:a:electron:electron-builder:6.3.0:alpha4:*:*:*:node.js:*:* | ||
cpe:2.3:a:electron:electron-builder:6.3.0:alpha5:*:*:*:node.js:*:* |
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/electron-userland/electron-builder/blob/140e2f0eb0df79c2a46e35024e96d0563355fc89/packages/electron-updater/src/windowsExecutableCodeSignatureVerifier.ts#L35-L41
- https://github.com/electron-userland/electron-builder/commit/ac2e6a25aa491c1ef5167a552c19fc2085cd427f
- https://github.com/electron-userland/electron-builder/pull/8295
- https://github.com/electron-userland/electron-builder/security/advisories/GHSA-9jxc-qjr9-vjxq