Новости · Безопасность

Критическая RCE-уязвимость в Fastjson: опасен разбор JSON из недоверенных источников

Одна из самых распространённых Java-библиотек для чтения JSON снова в центре скандала. Уязвимость CVE-2026-16723 позволяет злоумышленнику выполнить произвольный код на сервере всего лишь через специально составленный JSON — а исправленной версии для ветки 1.x на момент выхода новости так и нет.

Коротко: 21 июля 2026 года опубликована информация о критической уязвимости CVE-2026-16723 (CVSS 9.0) в популярной библиотеке разбора JSON Fastjson 1.x. Специально созданный JSON запускает чужой код на сервере. Патча для 1.x пока нет, атаки уже фиксируют — спасают SafeMode и переход на Fastjson2.

Опубликовано: 28 июля 2026 Редакция LoadFile Чтение 5 мин
Разбор JSON и критическая уязвимость Fastjson
Содержание
  1. Что произошло
  2. Как работает атака
  3. Кого это касается
  4. Что делать прямо сейчас
  5. Что это значит для работы с JSON
  6. Источники

Что произошло с библиотекой Fastjson

Fastjson — это открытая Java-библиотека от Alibaba, которая превращает JSON-текст в объекты программы и обратно. Её используют в тысячах серверных приложений, потому что она быстрая и простая. 21 июля 2026 года для неё опубликовали уязвимость CVE-2026-16723 с оценкой CVSS 9.0 — это «критический» уровень. Проблема затрагивает всю ветку Fastjson 1.x, от версии 1.2.68 до последней 1.2.83 включительно.

Суть в том, что при разборе недоверенного JSON библиотека может быть вынуждена загрузить и выполнить чужой код. Это класс атак под названием небезопасная десериализация: приложение доверяет данным из файла или запроса больше, чем следует, и превращает их в исполняемые инструкции. По данным исследователей, уязвимость нашёл Кирилл Фирсов из компании FearsOff.

!
Патча для 1.x пока нет

По состоянию на 25 июля 2026 года исправленной версии ветки 1.x не выпущено — последней остаётся 1.2.83. При этом активную эксплуатацию уязвимости фиксируют уже с 22 июля.

Как работает атака через JSON

Классические дыры в Fastjson были связаны с механизмом AutoType — когда JSON явно указывал, объект какого Java-класса из него собрать. Здесь атака хитрее и не требует включённого AutoType. Злоумышленник передаёт JSON с полями @type и аннотацией @JSONType, которую библиотека воспринимает как «сигнал доверия». Дальше поиск ресурса перенаправляется на подконтрольный атакующему путь.

Особенно опасна связка со сборками Spring Boot в формате «толстого» JAR (fat-JAR), где внутри одного файла лежат вложенные JAR-архивы. По описанию исследователей, «специально составленный путь к вложенному JAR может подтянуть управляемый атакующим байт-код». В результате обычный на вид JSON-запрос оборачивается запуском постороннего кода — без пароля и без участия пользователя.

Важная деталь: JSON сам по себе — это всего лишь текстовый формат обмена данными, в нём нет исполняемого кода. Опасность создаёт не файл, а небезопасный разбор этого файла уязвимой библиотекой. Чем именно является формат и как он устроен, мы подробно разбираем в справке чем открыть файл JSON.

Кого это касается

Речь не о рядовых пользователях, которые открывают .json в блокноте, а о серверных приложениях и сервисах на Java, которые принимают JSON извне: API, веб-бэкенды, микросервисы, интеграции. Под ударом прежде всего те, кто:

  • использует Fastjson версий 1.2.68–1.2.83;
  • разбирает этой библиотекой JSON, пришедший от внешних клиентов или из недоверенных файлов;
  • собирает приложение как Spring Boot fat-JAR.

Если вы просто читаете JSON-конфиги или экспортируете данные настольными программами — прямой угрозы нет. Но администраторам и разработчикам, чьи сервисы стоят на Fastjson 1.x, реагировать нужно немедленно.

Что делать прямо сейчас

Пока официального патча для 1.x нет, разработчики Alibaba и исследователи рекомендуют временные меры защиты:

  1. Включите безопасный режим разбора — запустите JVM с флагом -Dfastjson.parser.safeMode=true. В этом режиме опасная логика типов отключается.
  2. Как альтернатива — используйте сборку с ограничениями com.alibaba:fastjson:1.2.83_noneautotype.
  3. Проверьте журналы доступа на подозрительные полезные нагрузки с полем @type.
  4. В качестве долгосрочного решения Alibaba указывает переход на Fastjson2 — это отдельная кодовая база, которую данная уязвимость не затрагивает.
Главный принцип

Никогда не десериализуйте недоверенный JSON без ограничений. Любые данные извне — потенциально враждебны, и разбирать их должен код, который не умеет по указанию из файла загружать произвольные классы.

Что это значит для работы с файлами и данными

История Fastjson — хорошая иллюстрация того, что уязвимость живёт не в формате, а в программе, которая его читает. Тот же вывод касается архивов, PDF и изображений: сам по себе файл безопасен, пока его не откроет уязвимый парсер. Именно поэтому важно вовремя обновлять софт и не запускать разбор чужих файлов на боевых серверах без песочницы.

Если вы работаете с потенциально опасными вложениями и загрузками, посмотрите наш раздел безопасность файлов и материал кибербезопасность в разработке — там собраны практические правила проверки данных перед обработкой.

Источники

Читайте также