
CVE 2021-21315 PoC
Ceci est une preuve de concept pour CVE-2021-21315 qui affecte la bibliothèque System Information pour Node.JS (paquet npm "systeminformation"). npmjs.com/systeminformation
"veillez à vérifier ou à nettoyer les paramètres de service qui sont passés à si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... n'autorisez que les chaînes, rejetez tout tableau. La désinfection des chaînes fonctionne comme prévu. "
Parce qu'il s'agit d'une vulnérabilité peu expliquée (à mon avis), j'ai décidé de coder une petite application basée sur la version vulnérable de systeminformation. Le PoC contient :
Étapes pour reproduire :


Cela échouera, en raison de la désinfection des chaînes :

Comme indiqué dans les détails du CVE "la désinfection fonctionne comme prévu, rejette tout tableau [...]"
Cette fois, si vous regardez la valeur "name", elle n'a pas été désinfectée - succès ! Vérifions si la commande a été exécutée
Succès ! Notre commande a été exécutée. Bien sûr, personne ne se soucie de "pwn.txt", mais un attaquant potentiel peut :
"L'injection de commande" semble inoffensive, mais elle peut avoir un impact énorme si certaines conditions sont réunies.
Le problème a été corrigé dans la version 5.3.1 de "systeminformation" Crédits à https://www.huntr.dev/users/EffectRenan (Il a trouvé la vulnérabilité, mais à mon avis, son "PoC" n'a pas montré l'impact dans le monde réel)
N'hésitez pas non plus à utiliser ce PoC dans des CTF, mais ce serait cool si vous créditiez l'auteur de la découverte - EffectRenan et le créateur du PoC - moi, merci !
Ce projet ne peut être utilisé qu'à des fins éducatives. L'utilisation de ce logiciel contre des systèmes cibles sans autorisation préalable est illégale, et l'auteur décline toute responsabilité en cas de dommages résultant d'une mauvaise utilisation de ce logiciel.