У Java-екосистемі виявлено нову критичну загрозу: зловмисники почали активно експлуатувати вразливість нульового дня у популярній бібліотеці парсингу JSON під назвою Fastjson версії 1.x. Проблема отримала ідентифікатор CVE-2026-16723 та оцінку 9.0 балів за шкалою CVSS від компанії Alibaba, яка є розробником цієї бібліотеки. Оскільки для цієї вразливості наразі немає офіційного патчу, під загрозою опинилися тисячі корпоративних вебдодатків по всьому світу, зокрема побудованих на базі фреймворку Spring Boot.
Fastjson — це швидка та легка бібліотека для серіалізації та десеріалізації об'єктів Java у формат JSON і навпаки. Вона надзвичайно поширена в корпоративному сегменті, особливо в азійському регіоні, а також у багатьох застарілих (legacy) та інтегрованих системах західних компаній. Фахівці з кібербезпеки з компаній ThreatBook та Imperva зафіксували перші реальні спроби атак, спрямовані на використання цієї діри для отримання несанкціонованого контролю над серверами.
Суть проблеми криється у механізмі десеріалізації даних. Зловмисник може надіслати спеціально сформований JSON-запит до вразливого додатка Spring Boot. Коли Fastjson починає обробляти цей запит, через помилку в логіці перевірки типів відбувається виконання довільного коду (Remote Code Execution, RCE). Оскільки запит не потребує попередньої автентифікації, атаку може реалізувати будь-який зовнішній користувач, що має доступ до веб-інтерфейсу або API додатка. Виконання коду відбувається з правами того самого Java-процесу, у якому запущено сервер, що у багатьох випадках дає зловмисникам повний контроль над операційною системою або принаймні доступ до чутливих даних усередині контейнера.
Головна небезпека CVE-2026-16723 полягає у відсутності виправлень для гілки Fastjson 1.x. Ця версія бібліотеки вже тривалий час вважається застарілою, а розробники фокусуються на підтримці Fastjson 2.x, де архітектура безпеки була суттєво перероблена. Проте мільйони діючих систем продовжують використовувати Fastjson 1.x через складність міграції або банальну відсутність інвентаризації сторонніх компонентів у коді (Software Bill of Materials, SBOM).
Активні кампанії з експлуатації вказують на те, що хакери використовують автоматизовані сканери для пошуку публічно доступних ендпоінтів, які приймають JSON-пакети. Після успішного виконання коду атакуючі зазвичай намагаються закріпитися в системі, завантажуючи веб-шелли або інструменти для сканування внутрішньої мережі організації. Це робить цю вразливість пріоритетною ціллю для зловмисників, які займаються корпоративним шпигунством або розгортанням програм-вимагачів.
Що це означає на практиці
Для захисту вашої інфраструктури від атак на CVE-2026-16723 команда пентестерів рекомендує вжити наступних кроків:
- Проведіть негайну інвентаризацію коду (SBOM). Використовуйте інструменти аналізу залежностей (наприклад, Dependency-Check, Snyk або GitHub Dependency Graph), щоб виявити всі проєкти та сервіси, які використовують Fastjson версії 1.x. Особливу увагу приділіть додаткам на Spring Boot, які мають вихід у публічний інтернет.
- Мігруйте на безпечні альтернативи. Найбільш надійним рішенням є повна відмова від Fastjson 1.x. Переведіть свої проєкти на Fastjson 2.x (де вразливість відсутня) або повністю замініть бібліотеку на перевірені та безпечніші аналоги, такі як Jackson (яка є стандартом для Spring Boot за замовчуванням) або Gson від Google.
- Увімкніть безпечний режим у Fastjson. Якщо швидка міграція технічно неможлива, тимчасово налаштуйте Fastjson у режимі
SafeMode. Це повністю вимикає функціюAutoType, яка найчастіше є вектором для десеріалізаційних атак. Для цього додайте параметр-Dfastjson.parser.safeMode=trueу змінні запуску віртуальної машини Java (JVM). - Налаштуйте правила на рівні WAF. Оскільки атака передається через HTTP-запити, налаштуйте ваш Web Application Firewall для аналізу вхідного JSON-трафіку. Заблокуйте запити, які містять підозрілі сигнатури десеріалізації (наприклад, ключі
@typeіз зазначенням системних класів Java, які часто використовуються в експлойтах, таких якcom.sun.rowset.JdbcRowSetImplабоorg.springframework.context.support.ClassPathXmlApplicationContext). - Обмежте права процесу Java. Переконайтеся, що ваші вебдодатки та сервіси Spring Boot працюють під обліковими записами з мінімальними привілеями у системі (non-root користувачі), а самі контейнери ізольовані. Це локалізує потенційні наслідки, навіть якщо зловмиснику вдасться виконати довільний код.
