
Un exploit PoC pour CVE-2022-33891 - Apache Spark UI Remote Code Execution (RCE)
L'interface utilisateur Apache Spark est vulnérable à une injection de commandes à distance identifiée sous le nom CVE-2022-33891. Cette faille résulte d'une gestion incorrecte de l'authentification des utilisateurs et du contrôle d'accès, en particulier lorsque les listes de contrôle d'accès (ACL) sont activées. Avec les ACL activées via l'option de configuration spark.acls.enable, un filtre d'authentification est censé valider si un utilisateur dispose des autorisations nécessaires pour visualiser ou modifier l'application. Cependant, il existe une vulnérabilité dans le HttpSecurityFilter qui permet une usurpation d'identité en fournissant un nom d'utilisateur arbitraire.
Lorsque les ACL sont activées, un chemin de code spécifique dans HttpSecurityFilter ne parvient pas à vérifier correctement les identités des utilisateurs. Cette lacune permet à un attaquant de contourner le mécanisme d'authentification et d'atteindre une fonction de vérification des permissions. Cette fonction construit et exécute par inadvertance une commande shell Unix basée sur une entrée fournie par l'utilisateur, conduisant à une exécution de code arbitraire sur le serveur hébergeant l'interface utilisateur Apache Spark.
La vulnérabilité impacte les versions suivantes d'Apache Spark :
Une preuve de concept (PoC) a été développée pour démontrer l'exploitabilité de cette vulnérabilité. Cette PoC est destinée strictement à des fins éducatives et de recherche en sécurité, afin d'aider à la compréhension et à l'atténuation de cette faille.
La PoC fournie est uniquement destinée à des fins éducatives et de hacking éthique. L'utilisation de la PoC pour des attaques contre des applications web ou des serveurs sans consentement mutuel préalable est illégale. L'auteur décline toute responsabilité et n'est pas responsable de toute mauvaise utilisation ou des dommages causés par ce matériel. Les utilisateurs sont invités à utiliser ces informations de manière responsable et éthique.