TL; DR2026-жылы регулярдык экспресстер жана өзгөрмөлөр менен иштеп жатканда аныкталган үчүнчү буфердик толуп кетүүдөн (жана F5ке ылайык, ASLR жок болсо, RCE) кийин, Freenginx иштеп чыгуучусу Максим Дунин аны токтотууга убакыт келди деп чечип, ага маалымат жазуудан мурун өзгөрмөнүн өлчөмүн текшерүүнү кошту. Nginx ошондон бери бул функцияны көчүрүп алды, бул көйгөйгө байланыштуу жаңы CVEлер жок кылынат деген үмүт берди.
Эми чоо-жайына токтололу.
19-июнь күнү жасалган жасоо Freenginxте, ал өзгөрмөнүн дескрипторуна буфердин аягын көрсөткөн аяктоо талаасын кошот. Мурда анын башталышына (pos) көрсөткүч гана болгон, талап кылынган узундук алдын ала эсептелген (жана дагы эле эсептелип жатат) жана маалыматтар өзгөрмөгө көчүрүлгөнгө чейин, туура эсептелген узундук маалыматтардын буферге туура келерин кепилдейт деп болжолдонгон. Тилекке каршы, бул ар кандай кемчиликтерден улам 2026-жылдын май айында эки жолу туура эмес болуп чыккан.1 (linux.org.ru), 2 (linux.org.ru)), бул буфердин ашып-ташып кетишине жана оор кесепеттерге алып келди. Эми, өзгөрмөнүн буфери түзүлгөндө, анын аягына көрсөткүч дагы толтурулат жана өзгөрмөгө маалымат жазуудан мурун, эгерде маалыматтар туура келбесе, суроо-талапты иштетүү көзөмөлдөнгөн ката менен аяктайт. Бул узундукту эсептөө каталары дагы эле сакталып калышы мүмкүн дегенди билдирет, бирок алар эстутумду текке кетирбейт; алар белгилүү бир HTTP суроо-талабын гана аткарбай калышат. Төмөнкү коммиттер (2 (freenginx.org), 3 (freenginx.org)) ушул сыяктуу коргоо коддун башка бөлүктөрүнө, анын ичинде кирүү каттоо кодуна кошулган. Версиясы 7-июлда жарыяланган. Freenginx 1.31.3, бул оңдоону камтыйт.
15-июлда бул коммиттерди nginx () тарабынан алынган.1 (github.com), 2 (github.com), 3 (github.com), кандайдыр бир себептерден улам чынжырдагы экинчи жана үчүнчүсүн алмаштырып), көйгөй дайындалган CVE-2026-42533жана F5 расмий жарыялады SA (f5.com).
Бул жолку өзгөчө аялуулугу жөнүндө: ал map директивасын алынган параметрлери бар regexps менен колдонууда көрүнөт. Аны иштетүү үчүн талап кылынган башка шарттарга келсек, commit сүрөттөмөсүндөгү текст жана SAдагы текст бир аз айырмаланат: SA андан кийин белгилүү бир сап эсептелиши керек деп айтат, ал ошол эле картанын жыйынтыгынан мурун картадан калган алынган параметрди колдонот. Мисалдагы commit сүрөттөмөсүндө, бул кадамдардын ортосунда алынган параметрди камтыган өзгөрмө да нөлгө түшүрүлөт. Кандай болгон күндө да, бул көпчүлүк иштеп жаткан nginxтерде болушу күмөн, ошондуктан аялуулугу аз адамдарга таасир эткен. Ошондой эле, бул учур үчүн узундукту эсептөө үчүн атайын оңдоо committed түзөтүүлөрүндө жок экенин белгилей кетүү керек (же мен начар издедимби?), көйгөйдү башкарылуучу HTTP суроо-талабынын ишке ашпай калышына айландырган коргоо гана бар. Freenginxке 19-июлда кээ бир оңдоолор кошулганына карабастан (5bfb, 7622, b906) окшош кырдаал үчүн узундукту эсептөө, бирок бул чынбы же жокпу, дароо эле белгисиз.
Алсыздык nginx 0.9.6 версиясында пайда болгон, оңдоолор freenginx 1.31.3, nginx 1.30.4, nginx 1.31.3 версияларында камтылган.
Nginx SA бир катар адамдарга алсыздык жөнүндө көз карандысыз түрдө кабарлагандыгы жана "макулдашылган ачыктоо стандарттарын" сактагандыгы үчүн ыраазычылык билдирет:
F5 компаниясы Мин Сюанга, DKD (@pidifn), Цзянь Чжоуга жана AntAISecurityLab компаниясынын Жен Янга, Рафаэль Гацекке, EVO.company компаниясынын Сергей Негодикке, Calif.io компаниясынын Лам Жун Ронгго, Winfunc Research компаниясынын Муфид ВХга (winfunc.com), Vexera AI () компанияларына ыраазычылык билдирет.https://vexera.ai), Ту Тран Динь (@1w4y), Стэн Шоу (cyberstan), qianshuidewajueji, zenneth (randomguy6407), Zhenpeng (Leo) Lin of depthfirst, Лукас Йоханнес Мёллерге, Vodafone Türkiye компаниясынын өкүлү Мелих Толга Сахинге, Аюб Набил Бубагратка (GitHub: @ayoubnabil) жана Милан Йовичка (Kljunowsky) бул маселени биздин көңүлүбүзгө көз карандысыз түрдө жеткирип, координацияланган ачыктоонун эң жогорку стандарттарын сактагандыгы үчүн ыраазычылык билдиребиз.
freenginxте, оңдоо жөнүндө коштоочу маалымат чындыгында commit билдирүүсү менен гана чектелет. өзгөртүү журналыБул оңдоо "коопсуздук" же "ката оңдоо" деп да аталбайт, жөн гана "функция". Кыязы, автор бул маселени маанилүү деп эсептеген эмес. F5те жогоруда айтылган адамдар билдирген көйгөйлөр менен freenginxтен көчүрүлгөн коммиттин ортосундагы байланышты же алар (же башка бирөө) бул көйгөйдү freenginx авторуна билдиргенби же жокпу, аныктоо мүмкүн эмес.
Source: linux.org.ru
