Уязвимост от висока степен на опасност, свързана с препълване на буфера в хийпа (heap buffer overflow) в NGINX Plus и NGINX Open Source, може да позволи на неудостоверени атакуващи да предизвикат срив в работните процеси и при определени условия да изпълнят произволен код.
Проследяван като CVE-2026-42533, този дефект засяга конфигурации, които използват базирани на регулярни изрази (regex) директиви map или некешируеми променливи в низови изрази. Той е особено опасен, когато функцията ssl_preread на модула Stream обработва специално изготвен TLS трафик преди удостоверяване.
Според анализа, споделен от Джънпенг (Лео), уязвимостта се появява, когато директива map използва съпоставяне с регулярни изрази и низов израз препраща към променливите от захващането на регулярния израз на map преди изходната променлива на map.
Същото състояние може да възникне, когато некешируема променлива се използва в низов израз при специфични настройки. Атакуващ, който може да изпраща специално изготвени HTTP или TLS заявки, може да предизвика препълване на буфера в хийпа в работния процес на NGINX, принуждавайки го да се рестартира.
На системи, където рандомизацията на оформлението на адресното пространство (ASLR) е деактивирана или където атакуващият може да заобиколи ASLR, препълването може да ескалира до отдалечено изпълнение на код.
Основната причина се намира във вътрешния скриптов двигател на NGINX, който оценява „сложни стойности“ в два етапа. Първият етап изчислява общата дължина на резултата, а вторият копира данните в буфер в хийпа с този размер.
Когато променлива, базирана на регулярен израз (като например създадена от map), се оценява между тези два етапа, тя може да актуализира глобалното състояние на захващане. Вторият етап след това копира повече данни от първоначално заделените, пишейки извън границите на буфера.
В модула Stream функцията ssl_preread извлича полета от TLS ръкостискането, като например Server Name Indication (SNI), в променливи, които често се използват в сложни стойности. Тъй като това се случва преди завършването на TLS сесията, повърхността за атака е изложена на неудостоверени клиенти.
При типичен сценарий на експлоатация атакуващият изпраща TLS ClientHello с внимателно изготвено SNI към stream слушател, който има активиран ssl_preread и конфигурация, оценяваща захващанията на регулярни изрази в сложна стойност.
Изчислената първоначално дължина подценява крайния размер. След промяната на състоянието на захващането, стъпката на копиране препълва хийпа. Изследователите по сигурността отбелязват, че този бъг предоставя възможности както за изтичане на информация, така и за запис извън границите, което заедно поддържа заобикалянето на ASLR и надеждното експлоатиране на уязвимите версии.
F5 публикува становището за сигурност на 15 юли 2026 г. Изследователят Джънпенг (Лео) Лин и екипът на Depth First Labs съобщиха за откриването на проблема чрез вътрешните си системи, заедно с отделен дефект в обработката на HTTP/3 QPACK в NGINX (CVE-2026-42530).
Изглежда, че няколко групи са открили CVE-2026-42533 по едно и също време, което подчертава колко широко се използват засегнатите кодови пътища.
Организациите, работещи с NGINX Plus или Open Source със stream блокове, ssl_preread или базирани на регулярни изрази карти (maps), трябва да третират това като приоритетна корекция за сигурност.
Докато бъдат приложени актуализациите, намаляването на излагането на stream слушателите към ненадеждни мрежи, избягването на препратки към регулярни изрази в сложни стойности преди изходите на map и осигуряването на активиран ASLR могат да намалят риска.
Администраторите трябва да следят официалните канали на F5 и NGINX за коригирани версии и да ги прилагат своевременно, след което да валидират, че работните процеси вече не се сриват при деформиран ClientHello или HTTP трафик.