
Apache ActiveMQ OpenWire 역직렬화 RCE 취약점 기술 분석
Репозиторий технического анализа, в котором собраны причины, пути кода, точки исправления и результаты воспроизведения CVE-2023-46604 для Apache ActiveMQ.
Этот документ является учебным материалом по техническому анализу и защите от публичной уязвимости CVE-2023-46604.
Все эксперименты проводились только в утверждённой закрытой тестовой среде; применение или воспроизведение на несанкционированных системах может быть незаконным.
Содержание данного документа предоставляется исключительно с целью понимания уязвимости, проверки исправлений, а также повышения навыков обнаружения и реагирования.
CVE-2023-46604 — это уязвимость удалённого выполнения кода, возникающая в процессе десериализации OpenWire в Apache ActiveMQ. Ключевая проблема заключается в том, что BaseDataStreamMarshaller.createThrowable() инстанцирует через рефлексию имя класса, переданное из внешнего ввода, без достаточной проверки.
Злоумышленник может использовать это для создания другого класса вместо объекта исключения, что может привести к удалённой загрузке XML и выполнению команд.
ThrowableExceptionResponse -> createThrowable() -> создание произвольного классаПодробный аналитический отчёт можно найти в следующем документе:
.
|- README.md
|- docs/
| \- CVE-2023-46604_report.md
\- assets/
\- images...
createThrowable()