
une application simple avec une vulnérabilité (inatteignable !) CVE-2022-45688
Le projet contient une dépendance json.org avec CVE-2022-45688.
Il invoque bien la classe vulnérable, mais les données d'entrée sont assainies (avec une méthode simple de comptage des caractères <, estimant ainsi la profondeur maximale de l'arbre DOM à générer, et imposant une condition préalable que celle-ci soit inférieure à 1000)
et la vulnérabilité ne peut donc pas être exploitée pour une attaque DoS.
Les analyses de composition logicielle basées sur les métadonnées et sur le graphe d'appels produiront toutes deux un faux positif. Pour détecter précisément si l'application est vulnérable, une analyse de flux de données / de contamination inter-procédurale plus sophistiquée est nécessaire.
Notez qu'il existe un test de preuve de vulnérabilité pour démontrer la vulnérabilité, ce test (et donc la construction avec mvn test) échoue. Voir https://github.com/scabench/jsonorg-tp1 pour le fonctionnement du test.
Il existe plusieurs scripts sh pour exécuter différentes analyses, les rapports de résultats se trouvent dans scan-results.
Le fichier pom.xml contient un plugin pour générer un SBOM au format CycloneDX.
Pour ce faire, exécutez mvn cyclonedx:makePackageBom, le SBOM se trouve dans target/ au format json et xml.