CVE-2026-42533 — це heap buffer overflow під час обробки запитів у NGINX. Уразливість може перезапускати worker-процеси, а за певної конфігурації — дозволити віддалене виконання коду без автентифікації. Уразливий код є в NGINX Open Source від 0.9.6 до 1.30.3 включно та в mainline 1.31.2; повне виправлення вийшло у stable 1.30.4 і mainline 1.31.3 [1].
Це не означає, що кожен NGINX-сервер можна негайно зламати. Небезпечний сценарій потребує конфігурації, у якій regex-захоплення та значення map із регулярним виразом обчислюються в проблемному порядку. Оскільки NGINX часто стоїть перед сайтами, API та серверами застосунків, адміністратору потрібно перевірити і версію, і фактичну конфігурацію.
Хто під ризиком
| Розгортання | Ризик і рішення |
|---|---|
| NGINX Open Source 0.9.6–1.30.3 або 1.31.2 | Уразливий код присутній. Оновіться до 1.30.4 або 1.31.3, перевірте конфігурацію та перезавантажте NGINX. |
| NGINX Plus до виправленого vendor build | Звіртеся з матрицею F5 та встановіть відповідний виправлений реліз. |
| Старіша версія з репозиторію дистрибутива | Перевірте security notice постачальника: backport виправлення може зберігати старий номер версії. |
Немає взаємодії regex-based map із captures | Відомий trigger може бути відсутнім, але патч прибирає вразливий код і надійніший за припущення, що конфігурація не зміниться. |
Чому конфігурація має значення
NGINX формує частину рядків у два проходи: спочатку обчислює потрібний розмір буфера, а потім записує значення. Уразлива взаємодія дозволяє regex-виразу в map перезаписати стан captures між цими проходами. Якщо другий прохід записує більше даних, ніж виміряв перший, worker виходить за межі виділеного heap-буфера.
F5 описує відмову в обслуговуванні через перезапуск worker та можливе виконання коду, якщо ASLR вимкнений або його вдалося обійти [2]. Дослідник Stan Shaw окремо повідомляє про витік heap-вказівників на Ubuntu 24.04, який у його тестах дозволяв обійти ASLR. Це сильніше твердження незалежного дослідження: повний exploit і proof of concept поки не оприлюднені, тому його слід сприймати як причину швидко встановити патч, а не як доказ активної експлуатації [3].
Як перевірити сервер без експлуатації
- Зафіксуйте робочу версію. Виконайте
nginx -vі перевірте, який саме binary та package обслуговує трафік. - Безпечно виведіть ефективну конфігурацію. Перегляньте результат
nginx -T, включно з файлами, підключеними черезinclude. - Шукайте потрібну взаємодію. Пріоритетні блоки поєднують regex captures на кшталт
$1або іменованих груп із regex-based змінноюmapу спільному шляху побудови рядка. - Перевірте згенеровані конфіги. Hosting panels, ingress controllers, шаблони та deployment automation можуть створити небезпечний порядок поза основним
nginx.conf. - Не надсилайте crash або leak-запити на production. Автор дослідження опублікував статичний config scanner, який проходить include-файли та перевіряє передумови без експлуатації сервера.
Безпечний scanner допомагає з triage, але не замінює виправлений binary. До того самого класу обробки ведуть кілька directives, а конфігурації з часом змінюються. Чистий результат перевірки сьогодні не робить непатчений worker безпечним назавжди.
Що зробити зараз
- Оновіть NGINX Open Source до
1.30.4або1.31.3чи встановіть відповідний fixed release для NGINX Plus. - Перед reload запустіть
nginx -t, а після нього переконайтеся, що нові worker-процеси використовують очікуваний binary. - Навіть після патчу перегляньте regex maps і посилання на captures: простіший порядок обчислення зменшує ризик майбутніх помилок конфігурації.
- Перевірте error logs на незрозумілі worker exits, segmentation faults або повторні перезапуски, але не вважайте їх відсутність доказом, що сервер ніколи не був під ризиком.
- Якщо публічний сервер підозріло падав до оновлення, збережіть логи та перевірте host на сторонні файли, процеси, облікові дані й persistence, а не покладайтеся лише на перезапуск master process.
Ця помилка відрізняється від NGINX Rift CVE-2026-42945, де небезпечним був інший шаблон rewrite rules і який виправили в попередніх релізах. Тільки травневого оновлення недостатньо для CVE-2026-42533.
Джерела
- NGINX. “nginx-1.30.4 stable and nginx-1.31.3 mainline versions released.” NGINX Community Forum, 15 липня 2026 року. Повідомлення про реліз.
- NGINX. “Buffer overflow when using map and regex: CVE-2026-42533.” NGINX Security Advisories, дата доступу 19 липня 2026 року. Security advisory.
- Stan Shaw. “15-Year-Old Pre-Auth nginx RCE Across 13 Call Sites: Two-Pass Capture Clobbering CVE-2026-42533.” cyberstan, липень 2026 року, дата доступу 19 липня 2026 року. Технічний аналіз.
