
CVE-2022-24086 et CVE-2022-24087 - vulnérabilité de validation d'entrée incorrecte dans le formulaire de contact Magento Open Source et Adobe Commerce - a reçu un score CVSS de 9,8 sur 10 ; elle est classée comme un problème de pré-authentification, ce qui signifie qu'elle pourrait être exploitée sans identifiants.
Magento Open Source / Adobe Commerce - 2.3.3-p1 - 2.3.4
Magento Open Source / Adobe Commerce - 2.3.4-p2 - 2.4.2-p2
Magento Open Source / Adobe Commerce - 2.4.3 - 2.4.3-p1
CVE-2022-24086 était une vulnérabilité de sécurité critique zero-day qui touchait les boutiques Magento. La vulnérabilité a été signalée lors d'attaques limitées. Une autre faille, CVE-2022-24087, présente le même niveau de gravité et un vecteur d'attaque similaire.
Après quelques recherches, je n'ai trouvé aucun PoC légitime et fonctionnel pour démontrer la gravité de cette faille d'Adobe et j'ai décidé de créer le mien. En faisant de la rétro-ingénierie sur les correctifs officiels et non officiels, j'ai découvert que dans /app/code/Magento/Email/Model/Template/Filter.php, l'entrée n'était pas correctement nettoyée. En raison de l'incapacité de la plateforme à reconnaître une combinaison de types de caractères au moment de la validation du formulaire, des séquences nuisibles pouvaient provoquer des ravages sans entrave, permettant ainsi de contourner les méthodes de validation d'entrée normalement utilisées pour assainir les types d'entrée indésirables. Cela ouvre la possibilité d'attaques par injection SQL et d'objets PHP dans Magento, qui peuvent ajouter des entrées non souhaitées dans la base de données ou permettre une exécution de code à distance.
Certaines parties du code ajouté dans les correctifs officiels (MDVA-43395) qui nous mènent au PoC :
Ce que nous devons faire est de concevoir un payload sophistiqué à envoyer via POST :