
Script d'automatisation Python qui reproduit la CVE-2022-22963, une injection SpEL critique dans Spring Cloud Function, permettant un reverse shell dans des environnements de laboratoire autorisés.
Automatisation éducative de preuve de concept pour CVE-2022-22963, démontrée dans un environnement de laboratoire Hack The Box autorisé.
CVE-2022-22963 est une vulnérabilité de Spring Cloud Function impliquant l'en-tête
spring.cloud.function.routing-expression.
Dans des configurations vulnérables, un attaquant peut abuser de l'évaluation de Spring Expression Language (SpEL) pour invoquer des fonctionnalités Java via le mécanisme de routage de fonctions.
Ce dépôt contient un script d'automatisation Python utilisé pour reproduire la vulnérabilité dans un environnement CTF/laboratoire autorisé.
CVE ID : CVE-2022-22963 Composant affecté : Spring Cloud Function Versions affectées : < 3.1.7, < 3.2.3 Versions corrigées : 3.1.7, 3.2.3 Classe de vulnérabilité : Injection de langage d'expression (CWE-917) Vecteur d'attaque : Réseau, sans authentification (dépend du déploiement) Sévérité : Critique (CVSS 9.8 selon NVD) Références Entrée NVD : https://nvd.nist.gov/vuln/detail/CVE-2022-22963 Avis officiel Spring : https://spring.io/security/cve-2022-22963 Commit de correction / notes de version : voir les versions Spring Cloud Function sur GitHub
La fonctionnalité de routage de Spring Cloud Function permet à un appelant de sélectionner la fonction qui doit traiter une requête via un en-tête. Avant la correction, la valeur de cet en-tête était passée dans un contexte d'évaluation SpEL sans restriction. Comme SpEL prend en charge l'invocation de classes et de méthodes Java arbitraires (par ex. T(java.lang.Runtime)), une valeur d'en-tête contrefaite peut entraîner l'exécution de commandes OS sur l'hôte exécutant l'application vulnérable.
Une exploitation réussie permet à un attaquant non authentifié d'exécuter des commandes OS arbitraires avec les privilèges du processus applicatif, ce qui peut conduire à une compromission complète de l'hôte, à un mouvement latéral ou à une exfiltration de données selon la configuration de l'environnement.
le code fourni permet d'injecter un reverse shell sur une cible vulnérable
usage: exploit.py [-h] lhost lport url
Ce contenu est fourni uniquement pour la recherche en sécurité et l'éducation autorisées (par ex. les environnements de laboratoire HTB). N'utilisez pas ces informations contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test.