Преглед на приватноста

Оваа веб-страница користи колачиња за да ви обезбеди најдобро можно корисничко искуство. Информациите за колачињата се складираат во вашиот прелистувач и извршуваат функции како препознавање кога се враќате на нашата веб-страница и им помагаат на нашите програмери да разберат кои делови од веб-страницата ви се најинтересни и најкорисни.

Строго неопходни колачиња

Строго неопходните колачиња треба да бидат овозможени во секое време за да можеме да ги зачуваме вашите поставки за колачиња.

Критична ранливост во NGINX може да ги урне worker процесите и потенцијално да овозможи далечинско извршување на код

F5 објави исправки за критична ранливост во NGINX која му овозможува на далечински, неавтентициран напаѓач да предизвика heap buffer overflow во worker процесот преку специјално изработени HTTP барања. Ранливоста, означена како CVE-2026-42533, беше поправена на 15 јули во NGINX 1.30.4 (stable) и 1.31.3 (mainline), како и во NGINX Plus 37.0.3.1. Сите корисници кои користат постари верзии треба што е можно побрзо да ги ажурираат своите системи.

Активирањето на оваа ранливост може да предизвика пад или рестартирање на worker процесот, што резултира со ускратување на услугата (Denial of Service – DoS). Дополнително, доколку ASLR (Address Space Layout Randomization) е исклучен или може да се заобиколи, F5 предупредува дека ранливоста може да овозможи и далечинско извршување на код (Remote Code Execution – RCE).

Проблемот се наоѓа во script engine на NGINX – компонентата што составува текстуални вредности од директивите во моментот на обработка на HTTP барањето. Ранливоста се појавува само при специфична конфигурација: кога се користи regex-базиран map, чија излезна променлива се користи во текстуален израз по претходно regex совпаѓање со capture група.

Во ова сценарио, механизмот за двофазна обработка на NGINX не функционира правилно. Во првата фаза се пресметува колку бајти се потребни за резултатот и се алоцира соодветен бафер. Во втората фаза, податоците се запишуваат во него. Двете фази ја користат истата состојба на regex capture групите, но ако помеѓу нив се изврши regex од map, тие податоци се препишуваат.

Како резултат, првата фаза го пресметува баферот според оригиналната capture вредност (на пример $1 од location regex), додека втората фаза запишува податоци од друга capture вредност, чија големина може да биде контролирана од напаѓачот. Така се создава премал бафер, а должината и содржината на преполнувањето директно зависат од HTTP барањето испратено од напаѓачот.

Оваа ранливост не ги засега сите NGINX сервери – изложеноста зависи од конкретната конфигурација, а не само од верзијата. Во безбедносното известување, F5 наведува дека потенцијално се погодени и NGINX Ingress Controller, Gateway Fabric, App Protect WAF и Instance Manager, покрај основниот NGINX сервер и NGINX Plus. Во моментот на објавување, сепак, F5 сè уште немаше објавено поправени верзии за овие четири производи.

F5 ја оценува ранливоста со 9.2 според CVSS v4 и 8.1 според CVSS v3.1, при што сложеноста на нападот е оценета како висока. Ранливи се сите верзии на NGINX од 0.9.6 до 1.31.2, што значи дека проблемот постои уште од 2011 година, кога map доби поддршка за regex.

CVE-2026-42533 беше независно пријавена до F5 од повеќе од десетина безбедносни истражувачи. Компанијата им се заблагодари што „независно ни го посочија овој проблем“. Во официјалниот changelog на NGINX, заслугите за откривањето и поправката им се припишуваат на Mufeed VH од Winfunc Research и на одржувачот на проектот Maxim Dounin.

Еден од истражувачите, Stan Shaw (cyberstan), објави детална техничка анализа која оди подалеку од официјалното известување. Додека F5 наведува дека далечинско извршување на код е можно само ако ASLR е исклучен или може да се заобиколи, Shaw тврди дека самата ранливост го овозможува токму тоа заобиколување.

Според неговата анализа, препишувањето на capture податоците може да функционира и во обратна насока. Ако препишаната capture вредност е помала од оригиналната, преголемиот бафер може да врати неиницијализирани податоци од heap меморијата. Shaw изјави за The Hacker News дека на стандардна инсталација на Ubuntu 24.04, едно единствено неавтентицирано GET барање е доволно за откривање на мемориските адреси потребни за изградба на успешен exploit.

„Читател на безбедносното известување на F5 може оправдано да заклучи дека оваа ранливост предизвикува само DoS на системите со стандардна конфигурација. Тоа не е точно“, изјави Stan Shaw.

Ова е посилно тврдење од она што го наведува F5. Shaw вели дека во неговите тестирања нападот бил успешен во 10 од 10 случаи, но засега ги задржува техничките детали за експлоатацијата и proof-of-concept (PoC) кодот, па неговите тврдења сè уште не можат независно да се потврдат.

Официјалната препорака е надградба на NGINX 1.30.4 или 1.31.3, односно NGINX Plus 37.0.3.1. За организациите кои не можат веднаш да извршат ажурирање, F5 препорачува привремена мерка: засегнатите regex map конфигурации да се променат така што ќе користат именувани capture групи (named captures). Според Shaw, ова го затвора главниот пат за експлоатација и ги заштитува повеќето конфигурации.

Сепак, Shaw за The Hacker News изјави дека оваа привремена мерка не е целосна. Доколку map дефинира иста именувана capture група како и location regex, ранливоста сè уште може да се активира преку втор коден пат. Тој потврдил дека ова е возможно со помош на AddressSanitizer, а истакнува дека ова сценарио не е споменато во безбедносното известување на F5.

Надградбата на верзија 1.30.4 или 1.31.3 е единственото целосно решение“, нагласи Shaw.

Конфигурациите што треба да се проверат се релативно специфични: regex-базиран map чија променлива се користи во текстуален израз заедно со нумерирана capture променлива ($1, $2 итн.) од претходно regex совпаѓање, при што capture променливата е наведена пред map променливата.

Shaw развил и сопствена алатка за проверка на конфигурации. Таа автоматски ги анализира сите NGINX конфигурациски датотеки, ги следи include директивите и ги означува само конфигурациите што навистина се потенцијално експлоатабилни. Алатката не ја експлоатира ранливоста, туку служи исклучиво за откривање на ризични конфигурации и не е официјален производ на F5.

Ова е третата heap buffer overflow ранливост во механизмот за обработка на изрази во NGINX откриена во период од околу два месеци. Претходно беа објавени Rift (CVE-2026-42945) во мај и ранливоста со преклопени capture групи во rewrite модулот (CVE-2026-9256) само неколку дена подоцна.

Сите три ранливости припаѓаат на истата класа на пропусти. Во сите случаи, двофазниот script engine на NGINX прво ја пресметува потребната големина на баферот, а потоа во втората фаза ги запишува податоците во него. Проблемот настанува кога количината на податоци што се запишуваат е поголема од претходно пресметаната големина на баферот.

Иако механизмот е ист, причината за активирање на ранливоста се разликува:

  • кај Rift (CVE-2026-42945) причината е застарено (stale) знаме (flag);
  • кај ранливоста во rewrite модулот (CVE-2026-9256) проблемот е преклопување на capture групите;
  • кај CVE-2026-42533 причината е препишување (clobbering) на состојбата на capture податоците.

Како што истакнува истражувачот, заедничката слабост е во самиот двофазен дизајн, кој претпоставува дека пресметаната големина на баферот ќе остане точна до моментот на запишување на податоците.

Заклучно со 20 јули, CVE-2026-42533 сè уште не беше додадена во каталогот Known Exploited Vulnerabilities (KEV) на CISA, а во јавноста не беше објавен ниту функционален exploit код.

Shaw најави дека ќе го објави својот proof-of-concept (PoC) 21 ден по објавувањето на безбедносната исправка. Тој посочува дека случајот со Rift претставува предупредување: exploit кодот за таа ранливост беше јавно објавен само неколку дена по излегувањето на закрпата, а кратко потоа беа забележани и активни напади. Токму затоа, според него, организациите треба да ги ажурираат своите NGINX инсталации пред да биде објавен exploit кодот за оваа ранливост.

The Hacker News побара од F5 појаснување дали префрлањето на именувани capture групи (named captures) целосно ја елиминира CVE-2026-42533, со оглед на варијантата што ја опишува Shaw, како и кога ќе бидат објавени исправени верзии за засегнатите производи што се базираат на NGINX. До моментот на објавување на статијата, F5 не одговорила на овие прашања.

Извори:

  • The Hacker News – Critical NGINX Vulnerability Can Crash Workers and May Allow Remote Code Execution The Hacker News