Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/thelonelycoder/mojarra-2.2.13-patched
Analyse des VulnérabilitésSécurité de la Chaîne LogistiqueApprentissage et ÉducationRessources Organisées
GitHubthelonelycoder/mojarra-2.2.13-patched

mojarra-2.2.13-patched

Rétroportage du correctif de sécurité CVE-2020-6950 vers Mojarra 2.2.13, fournissant un JAR jsf-impl corrigé avec des modifications minimales et vérifiables pour les applications héritées.

Voir le dépôt
il y a 12h 40mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Mojarra 2.2.13 – Rétroportage CVE-2020-6950

Ce dépôt contient un rétroportage reproductible du correctif pour CVE-2020-6950 vers Mojarra 2.2.13.

Il existe principalement pour la traçabilité et pour la maintenance d'applications héritées qui, pour des raisons de compatibilité, ne peuvent pas simplement être mises à niveau vers une version plus récente de JSF/Mojarra.

Crédits et sources en amont

Mojarra

Mojarra est l'implémentation de référence de JavaServer Faces (JSF), développée à l'origine dans le cadre de l'écosystème GlassFish/Java EE et désormais maintenue comme projet Eclipse Mojarra.

Le code source de Mojarra contenu dans ce dépôt n'est pas mon travail. Tout le crédit et les droits d'auteur restent aux auteurs et contributeurs originaux de Mojarra.

Projet en amont actuel :

  • Eclipse Mojarra : https://github.com/eclipse-ee4j/mojarra
  • Page du projet Eclipse : https://projects.eclipse.org/projects/ee4j.mojarra

Les artefacts Mojarra 2.2.13 non modifiés utilisés comme base de ce travail ont été obtenus depuis Maven Central.

Correctif CVE-2020-6950

Le correctif de sécurité utilisé ici n'a pas été développé par moi.

Le rétroportage pour Mojarra 2.2.13 a été obtenu depuis le paquet Mojarra , où est appliqué à Mojarra 2.2.13.

openEuler
CVE-2020-6950.patch

Source du paquet openEuler :

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

Le correctif original a été conservé afin que l'origine et la nature exacte de la modification de sécurité restent traçables.

Mes remerciements vont aux développeurs en amont de Mojarra ainsi qu'aux mainteneurs et contributeurs d'openEuler qui ont fourni et publié le correctif de sécurité rétroporté.

Pourquoi ce dépôt existe

J'ai rencontré une application héritée qui dépend toujours de Mojarra 2.2.13 et qui était affectée par CVE-2020-6950.

La mise à niveau complète de l'implémentation JSF n'était pas une option pratique à court terme car l'application et son framework environnant sont des logiciels hérités avec des contraintes de compatibilité importantes.

Dans le même temps, je souhaitais que la modification de sécurité soit :

  • basée sur un correctif en amont/éditeur disponible publiquement,
  • minimale,
  • vérifiable,
  • reproductible,
  • et traçable jusqu'à l'implémentation originale de Mojarra 2.2.13.

Pour cette raison, j'ai reconstruit moi-même les classes affectées plutôt que de distribuer un binaire modifié non expliqué.

Ce dépôt ne représente donc pas une implémentation indépendante du correctif de sécurité. Il documente et empaquette un correctif publié existant pour une utilisation avec Mojarra 2.2.13.

Ce qui a été modifié

Le correctif openEuler CVE-2020-6950 modifie trois classes Mojarra :

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

Le correctif ajoute la validation du nom du contrat de ressource en utilisant :

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

Seules ces trois classes sont remplacées dans le JAR jsf-impl-2.2.13 corrigé.

Une comparaison des JAR originaux et corrigés décompressés a été effectuée pour vérifier qu'aucun autre fichier ne diffère.

Approche de compilation

Les sources originales de Mojarra 2.2.13 ont été utilisées avec le correctif CVE publié par openEuler.

Comme la reconstruction complète de l'environnement de compilation historique de Mojarra 2.2.13 et de ses anciennes dépendances de compilation ajouterait une complexité inutile et rendrait le résultat plus difficile à auditer, seules les trois classes affectées ont été recompilées.

Elles ont été compilées avec OpenJDK 8 en utilisant :

root@kitploit:~
-source 1.5 -target 1.5

Les fichiers de classe résultants ont été vérifiés pour avoir :

root@kitploit:~
version majeure : 49

ce qui correspond à la version du bytecode des classes originales de Mojarra 2.2.13.

Les trois fichiers de classe résultants ont ensuite été insérés dans une copie par ailleurs inchangée du jsf-impl-2.2.13.jar original.

Vérification

Le JAR résultant a été décompressé et comparé à l'original.

Seuls ces fichiers diffèrent :

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

Le bytecode résultant a également été inspecté avec javap pour vérifier que les deux classes d'aide aux ressources contiennent l'appel prévu à :

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

Les trois classes de remplacement ont également été vérifiées pour conserver la version majeure 49 du fichier de classe Java.

Artefact de déploiement

Pour les applications qui utilisent actuellement les bibliothèques Mojarra séparées :

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

le remplacement pertinent produit par ce projet est :

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

Le nom du fichier JAR lui-même n'est pas significatif pour le chargeur de classes Java. Le suffixe -patched est intentionnellement conservé afin que les administrateurs puissent immédiatement distinguer l'implémentation modifiée de l'originale.

Ne déployez pas simultanément les JAR jsf-impl original et corrigé.

Une procédure de déploiement sûre consiste à sauvegarder d'abord l'application existante, supprimer le jsf-impl-2.2.13.jar original, déployer jsf-impl-2.2.13-patched.jar, redémarrer l'application/conteneur, et vérifier à la fois le fonctionnement normal de l'application et le problème de sécurité traité par CVE-2020-6950.

Portée et avertissement

Ce dépôt est destiné à être un rétroportage de compatibilité/sécurité étroitement ciblé pour les installations héritées de Mojarra 2.2.13.

Il ne s'agit pas d'un fork de Mojarra, ni d'une nouvelle version de Mojarra, et il n'est pas affilié à ou approuvé par la Fondation Eclipse, Oracle, GlassFish ou openEuler.

Lorsque cela est possible, la mise à niveau vers une implémentation JSF/Jakarta Faces actuellement maintenue est préférable au maintien d'une ancienne version de Mojarra avec des correctifs de sécurité individuels.

Ce dépôt traite de la CVE spécifique décrite ci-dessus. Il ne doit pas être interprété comme rendant Mojarra 2.2.13 généralement sécurisé, actuel, maintenu ou pris en charge.

Les utilisateurs restent responsables du test de l'artefact corrigé dans leur propre environnement avant de le déployer sur des systèmes de production.

Licence

Le code source et les binaires originaux de Mojarra restent soumis à leurs licences en amont et avis de droits d'auteur respectifs.

Mojarra 2.2.13 a été distribué sous les termes de la double licence GPL v2 / CDDL applicables à cette version, y compris l'exception Classpath GPL là où elle est indiquée dans les en-têtes de source originaux.

Le fichier de licence original de Mojarra est inclus sans modification à :

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

Les en-têtes de droits d'auteur et de licence originaux dans les fichiers source de Mojarra ont été conservés.

Le correctif fourni par openEuler reste attribuable à ses auteurs respectifs et au projet source.

Aucune propriété du code original de Mojarra ou du correctif CVE n'est revendiquée par ce dépôt.

Télécharger l’outil