GCSA Global Cybersecurity Alliance опубликовал отчет, в котором подробно описывается эксплуатация уязвимости Fastjson 1.2.83 RCE, воспроизведенная на нескольких версиях JDK.
GCSA Global Cybersecurity Alliance сегодня эксклюзивно опубликовал технический отчет: Fastjson 1.2.83 может вызывать удаленное выполнение кода (RCE) без использования традиционных зависимостей Gadget, даже при настройке AutoType=false по умолчанию. Этот метод эксплуатации был успешно воспроизведен от начала до конца на JDK 8, 17, 21 и 25, а также в изолированных средах Spring Boot Loader.
Эта уязвимость не является традиционной атакой «обход черного списка для поиска локального Gadget». Вместо этого она напрямую подрывает собственную логику обнаружения метаданных классов Fastjson, чтобы служить каналом для получения удаленных вредоносных классов. Злоумышленник, который может контролировать входные данные JSON, анализируемые Fastjson — с отключенным SafeMode и доступным исходящим сетевым трафиком — может достичь неаутентифицированного удаленного выполнения кода без необходимости каких-либо предустановленных традиционных зависимостей Gadget (таких как TemplatesImpl, JNDI или Commons Collections) в целевом classpath.
Результаты воспроизведения подтверждают, что одна и та же полезная нагрузка JSON достигает успешного RCE в средах Temurin JDK 8, 17, 21 и 25 с Spring Boot Loader. Уязвимость оценивается как высокая степень серьезности: вектор атаки — удаленный по сети, не требует взаимодействия с пользователем, а влияние на конфиденциальность, целостность и доступность оценивается как высокое.
Ключевые выводы
«AutoType отключен по умолчанию, поэтому это безопасно» — Неверно
«Исправлен второй параметр parseObject, поэтому это безопасно» — Неверно
«В classpath нет известных Gadget, поэтому это безопасно» — Неверно
«JDK 17+ отклоняет внутренние имена http://, поэтому это максимум SSRF» — Неверно
Рекомендации по защите
- Немедленно включите SafeMode: ParserConfig.getGlobalInstance().setSafeMode(true);
- В приоритетном порядке перейдите на Fastjson 2.x и выполните полное регрессионное тестирование
- Ограничьте политики исходящего сетевого трафика: заблокируйте HTTP-соединения JVM с необязательными внешними адресами
- Разверните правила WAF/шлюза для блокировки JSON-запросов, где декодированный ключ равен @type






