Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/thelonelycoder/mojarra-2.2.13-patched
Análisis de VulnerabilidadesSeguridad de Cadena de SuministroAprendizaje y EducaciónRecursos Curados
GitHubthelonelycoder/mojarra-2.2.13-patched

mojarra-2.2.13-patched

Backport de la corrección de seguridad CVE-2020-6950 a Mojarra 2.2.13, que proporciona un JAR jsf-impl parcheado con cambios mínimos y revisables para aplicaciones heredadas.

Ver Repositorio
hace 12h 40mAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Mojarra 2.2.13 – Backport de CVE-2020-6950

Este repositorio contiene un backport reproducible de la corrección para CVE-2020-6950 a Mojarra 2.2.13.

Existe principalmente con fines de trazabilidad y para el mantenimiento de aplicaciones heredadas que, por razones de compatibilidad, no pueden simplemente actualizarse a una versión más reciente de JSF/Mojarra.

Créditos y fuentes upstream

Mojarra

Mojarra es la implementación de referencia de JavaServer Faces (JSF), desarrollada originalmente como parte del ecosistema GlassFish/Java EE y ahora mantenida como el proyecto Eclipse Mojarra.

El código fuente de Mojarra contenido en este repositorio no es obra mía. Todo el crédito y los derechos de autor pertenecen a los autores y colaboradores originales de Mojarra.

Proyecto upstream actual:

  • Eclipse Mojarra: https://github.com/eclipse-ee4j/mojarra
  • Página del proyecto Eclipse: https://projects.eclipse.org/projects/ee4j.mojarra

Los artefactos sin modificar de Mojarra 2.2.13 utilizados como base para este trabajo se obtuvieron de Maven Central.

Parche de CVE-2020-6950

La corrección de seguridad utilizada aquí no fue desarrollada por mí.

El backport para Mojarra 2.2.13 se obtuvo del paquete Mojarra de , donde se aplica a Mojarra 2.2.13.

openEuler
CVE-2020-6950.patch

Fuente del paquete openEuler:

  • https://gitee.com/src-openeuler/mojarra

El parche original se ha conservado para que el origen y la naturaleza exacta de la modificación de seguridad permanezcan trazables.

Mi agradecimiento a los desarrolladores upstream de Mojarra y a los mantenedores y colaboradores de openEuler que proporcionaron y publicaron el parche de seguridad backportado.

Por qué existe este repositorio

Me encontré con una aplicación heredada que aún depende de Mojarra 2.2.13 y estaba afectada por CVE-2020-6950.

Actualizar la implementación completa de JSF no era una opción práctica a corto plazo porque la aplicación y su framework circundante son software heredado con importantes restricciones de compatibilidad.

Al mismo tiempo, quería que la modificación de seguridad fuera:

  • basada en un parche upstream/de proveedor disponible públicamente,
  • mínima,
  • revisable,
  • reproducible,
  • y trazable hasta la implementación original de Mojarra 2.2.13.

Por esa razón, reconstruí las clases afectadas yo mismo en lugar de distribuir un binario modificado sin explicación.

Este repositorio, por tanto, no representa una implementación independiente de la corrección de seguridad. Documenta y empaqueta una corrección publicada existente para su uso con Mojarra 2.2.13.

Qué se modificó

El parche de openEuler para CVE-2020-6950 modifica tres clases de Mojarra:

root@kitploit:~
com/sun/faces/application/resource/ClasspathResourceHelper.java
com/sun/faces/application/resource/ResourceManager.java
com/sun/faces/application/resource/WebappResourceHelper.java

El parche añade validación del nombre del contrato de recurso utilizando:

root@kitploit:~
ResourceManager.nameContainsForbiddenSequence(...)

Solo estas tres clases se reemplazan en el JAR parcheado jsf-impl-2.2.13.

Se realizó una comparación de los JAR original y parcheado desempaquetados para verificar que no difiere ningún otro archivo.

Enfoque de compilación

Se utilizaron las fuentes originales de Mojarra 2.2.13 junto con el parche CVE publicado de openEuler.

Dado que reconstruir el entorno de compilación histórico completo de Mojarra 2.2.13 y sus antiguas dependencias de compilación añadiría complejidad innecesaria y dificultaría la auditoría del resultado, solo se recompilaron las tres clases afectadas.

Se compilaron con OpenJDK 8 utilizando:

root@kitploit:~
-source 1.5 -target 1.5

Se verificó que los archivos de clase resultantes tuvieran:

root@kitploit:~
major version: 49

lo que coincide con la versión de bytecode de las clases originales de Mojarra 2.2.13.

Los tres archivos de clase resultantes se insertaron luego en una copia sin modificar del jsf-impl-2.2.13.jar original.

Verificación

El JAR resultante se desempaquetó y se comparó con el original.

Solo difieren estos archivos:

root@kitploit:~
ClasspathResourceHelper.class
ResourceManager.class
WebappResourceHelper.class

El bytecode resultante se inspeccionó adicionalmente con javap para verificar que ambas clases auxiliares de recursos contienen la llamada prevista a:

root@kitploit:~
ResourceManager.nameContainsForbiddenSequence(...)

También se verificó que las tres clases de reemplazo conservan la versión principal 49 de archivo de clase Java.

Artefacto de despliegue

Para aplicaciones que actualmente utilizan las bibliotecas Mojarra divididas:

root@kitploit:~
jsf-api-2.2.13.jar
jsf-impl-2.2.13.jar

el reemplazo relevante producido por este proyecto es:

root@kitploit:~
jsf-impl-2.2.13-patched.jar

El nombre del archivo JAR no es significativo para el cargador de clases de Java. El sufijo -patched se conserva intencionadamente para que los administradores puedan distinguir inmediatamente la implementación modificada de la original.

No despliegue simultáneamente los JAR jsf-impl original y parcheado.

Un procedimiento de despliegue seguro consiste en hacer una copia de seguridad de la aplicación existente, eliminar el jsf-impl-2.2.13.jar original, desplegar jsf-impl-2.2.13-patched.jar, reiniciar la aplicación/contenedor y verificar tanto el funcionamiento normal de la aplicación como el problema de seguridad abordado por CVE-2020-6950.

Alcance y descargo de responsabilidad

Este repositorio está pensado como un backport de compatibilidad/seguridad de alcance limitado para instalaciones heredadas de Mojarra 2.2.13.

No es un fork de Mojarra, ni una nueva versión de Mojarra, y no está afiliado ni respaldado por Eclipse Foundation, Oracle, GlassFish u openEuler.

Cuando sea posible, actualizar a una implementación de JSF/Jakarta Faces actualmente mantenida es preferible a mantener una versión antigua de Mojarra con parches de seguridad individuales.

Este repositorio aborda el CVE específico descrito anteriormente. No debe interpretarse como que hace que Mojarra 2.2.13 sea generalmente seguro, actual, mantenido o soportado.

Los usuarios siguen siendo responsables de probar el artefacto parcheado en su propio entorno antes de desplegarlo en sistemas de producción.

Licencia

El código fuente y los binarios originales de Mojarra siguen sujetos a sus respectivas licencias upstream y avisos de derechos de autor.

Mojarra 2.2.13 se distribuyó bajo los términos de doble licencia GPL v2 / CDDL aplicables a esa versión, incluida la Excepción Classpath de GPL cuando se indica en los encabezados de las fuentes originales.

El archivo de licencia original de Mojarra se incluye sin cambios en:

root@kitploit:~
packager/legal/LICENSE.txt

Los encabezados originales de derechos de autor y licencia en los archivos fuente de Mojarra se han conservado.

El parche proporcionado por openEuler sigue siendo atribuible a sus respectivos autores y proyecto fuente.

Este repositorio no reclama propiedad alguna sobre el código original de Mojarra ni sobre la corrección del CVE.

Descargar herramienta