
Comprueba y corrige los entornos de ejecución de Java para CVE-2026-91403 (intermediarios de eMudhra comprometidos) en Windows y macOS — con consentimiento previo, sin dependencias, sin red.
Herramienta de mitigación temporal mediante listas de bloqueo para la vulnerabilidad de certificados de Java (CVE-2026-91403) — Windows / macOS
Localiza todas las instalaciones de Java en el equipo (lanzador de Minecraft, lanzadores de mods, herramientas de desarrollo, JDK instalados manualmente) y comprueba si cuentan con la medida temporal indicada por OpenJDK (añadir los 16 certificados problemáticos a la lista de bloqueo). Si el usuario lo acepta, añade los elementos que falten. De forma opcional, ejecuta realmente cada Java para comprobar si los certificados suplantados son realmente rechazados.
Esta herramienta no es una solución completa. No actualiza Java, no modifica el almacén de confianza (cacerts) ni activa la comprobación de revocación de certificados. La solución de fondo es actualizar Java y los lanzadores a versiones corregidas. Para más detalles, lea 3. Limitaciones de esta herramienta.
Está construida únicamente con la biblioteca estándar de Rust, sin librerías externas, de modo que basta con leer las carpetas src/ y probe/ para verificar todo lo que hace.
English: see English below.
En octubre de 2026 se reveló que cualquiera puede obtener las claves privadas de 8 certificados intermedios de la entidad certificadora eMudhra. Sumando los certificados que Sectigo "AAA Certificate Services" firmó de forma cruzada con la misma clave, el total asciende a 16.
Como las versiones de Java sin corregir confían en estos certificados, si un atacante se encuentra en la misma red (por ejemplo, una Wi-Fi pública) puede crear certificados falsos que suplanten cualquier sitio y Java los aceptará como genuinos. Por ejemplo, podría suplantar el servidor de inicio de sesión (sesión) de Minecraft o un servidor de descarga de mods.
La medida indicada por OpenJDK es una de las tres siguientes.
| Medida oficial | Esta herramienta |
|---|---|
| Actualizar Java a una versión corregida (según Oracle/OpenJDK: 25.0.5.0.2, 21.0.13.0.2, 17.0.21.0.2, 11.0.33.0.2, 8u511 o superior) | ❌ No lo hace (solo lo indica) |
Bloquear los certificados problemáticos mediante blocked.certs (en Java 8, blacklisted.certs) | ✅ Añade los 16 |
Activar la comprobación de revocación de certificados (-Dcom.sun.net.ssl.checkRevocation=true -Dcom.sun.security.enableCRLDP=true) | ❌ No lo hace (motivo) |
Referencias
impacted-intermediates.json)| Paso | Contenido | Internet |
|---|---|---|
| Inspección de archivos | Para cada Java encontrado, se leen los archivos lib/security/blocked.certs (en Java 8, blacklisted.certs) y release, y se comprueba si los 16 están en la lista de bloqueo. | No se usa |
| Prueba de conexión real (opcional) | Se ejecuta realmente cada Java y se intenta conectar a 2 sitios de prueba y al servidor de sesión de Mojang, para verificar que se rechazan los certificados falsificados. Más detalles | Solo se usa en este paso |
| Añadir a la lista de bloqueo | Solo se añaden al final del archivo las huellas de certificado que faltan. No se borran ni modifican las líneas existentes, y el original se respalda como blocked.certs.bak-cve-2026-91403. Tras añadirlas, se vuelve a leer el archivo para verificarlo. | No se usa |
| Revertir | Se copia el respaldo a su ubicación original. | No se usa |
Y para continuar. Cualquier otra entrada se considera "no".%LOCALAPPDATA%\JavaFix y macOS ~/Library/Logs/JavaFix.cacerts). No se toca porque eliminar certificados raíz podría bloquear incluso sitios legítimos.
(Ejemplo: Sectigo "AAA Certificate Services" es una raíz que usan muchos sitios legítimos.)Descargue el archivo correspondiente a su sistema operativo desde la página de Releases.
| Sistema operativo | Archivo |
|---|---|
| Windows (la mayoría de los PC) | javafix-windows-x64.exe |
| Windows (portátiles ARM) | javafix-windows-arm64.exe |
| macOS (Intel / Apple Silicon en común) | javafix-macos-universal.zip |
Para verificar que el archivo recibido es el original, compárelo con el valor de SHA256SUMS.
certutil -hashfile javafix-windows-x64.exe SHA256 (Windows)
shasum -a 256 javafix-macos-universal.zip (macOS)
Windows
javafix-windows-x64.exe.macOS