{"id":182826,"date":"2026-08-11T04:54:22","date_gmt":"2026-08-11T02:54:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve"},"modified":"2026-08-11T04:54:22","modified_gmt":"2026-08-11T02:54:22","slug":"v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve","title":{"rendered":"In freenginx e nginx \u00e8 stata aggiunta una verifica della dimensione della variabile di testo prima di scriverci i dati (+ CVE)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>          <a rel=\"nofollow\" id=\"memories_button\" href=\"#\" title=\"Monitorare\"><i class=\"icon-bell\"><\/i><\/a><br \/>3                            <\/p>\n<p><b>TL;DR<\/b>: Affrontando il terzo overflow di buffer scoperto nel 2026 (e, secondo F5, RCE se non c'\u00e8 ASLR) durante l\u2019utilizzo di regex e variabili, lo sviluppatore di freenginx, Maksim Dunin, ha deciso che era ora di fermarsi, e ha aggiunto al suo prodotto un controllo della dimensione della variabile prima di scriverci dati. Da l\u00ec, questa novit\u00e0 \u00e8 stata portata anche in nginx, il che d\u00e0 speranza a una cessazione di nuovi CVE su questo tema.<\/p>\n<p>Ora i dettagli.<\/p>\n<p> Il 19 giugno \u00e8 stata implementata <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/d172f506ab5f\">commit<\/a> in freenginx, che aggiunge nel descrittore della variabile un campo end, che indica la fine del buffer. In precedenza c'era solo un puntatore all'inizio (pos), la lunghezza necessaria veniva calcolata (e viene ancora calcolata) in anticipo, e al momento della copia dei dati nella variabile si presumeva che la lunghezza precedentemente calcolata garantisse che i dati potessero entrare nel buffer. Sfortunatamente, due volte a maggio 2026 a causa di varie omissioni, questo non si \u00e8 rivelato vero (<a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/security\/18295901\">1 (linux.org.ru)<\/a>, <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/security\/18300022\">2 (linux.org.ru)<\/a>), il che ha comportato overflow di buffer e gravi conseguenze. Ora, quindi, quando si crea un buffer, viene memorizzato anche il puntatore alla sua fine, e prima di scrivere dati nella variabile, se i dati non ci entrano, l'elaborazione della richiesta sar\u00e0 controllatamente terminata con un errore. Ci\u00f2 significa che gli errori di calcolo della lunghezza possono ancora esistere, ma ora non danneggeranno la memoria, ma falliranno solo una specifica richiesta http. Nei commit successivi (<a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/7e4d7feb4c77\">2 (freenginx.org)<\/a>, <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/ceff7ca7785a\">3 (freenginx.org)<\/a>) \u00e8 stata aggiunta una protezione simile in altre parti del codice, incluso il codice di gestione del registro di accesso. Il 7 luglio \u00e8 stata rilasciata la versione <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/download\/freenginx-1.31.3.tar.gz\">freenginx 1.31.3<\/a>, che include questa correzione.<\/p>\n<p><noindex><\/p>\n<p>Il 15 luglio questi commit sono stati traslati in nginx (<a rel=\"nofollow\" href=\"https:\/\/github.com\/nginx\/nginx\/commit\/b767540492e8c79a58bc26034d3bab2f708b7bd1\">1 (github.com)<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/nginx\/nginx\/commit\/4d32a2703c79f92b7a99ce3547759cc599d6f83e\">2 (github.com)<\/a>, <a rel=\"nofollow\" href=\"https:\/\/github.com\/nginx\/nginx\/commit\/25f920eca977139dc6fc7638b419169a602a0064\">3 (github.com)<\/a>, cambiando per qualche motivo l'ordine del secondo e del terzo nella catena), \u00e8 stata assegnata alla problematica <a rel=\"nofollow\" href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2026-42533\">CVE-2026-42533<\/a>, e F5 ha rilasciato un <a rel=\"nofollow\" href=\"https:\/\/my.f5.com\/manage\/s\/article\/K000162097\">SA (f5.com)<\/a>.<\/p>\n<p><\/noindex><\/p>\n<p>Riguardo a una specifica vulnerabilit\u00e0 questa volta: si manifesta quando si utilizza la direttiva map con espressioni regolari che contengono parametri di cattura. Per quanto riguarda le altre condizioni necessarie affinch\u00e9 si attivi, il testo nella descrizione del commit e quello in SA presentano alcune divergenze: in SA \u00e8 indicato che successivamente deve avvenire il calcolo di una certa stringa, che utilizza il parametro di cattura rimasto da map, prima del risultato di questo stesso map. Nella descrizione del commit, nell'esempio, tra questi passaggi c'\u00e8 anche un azzeramento della variabile che contiene il parametro di cattura. Ad ogni modo, nella maggior parte delle istanze di nginx avviate, \u00e8 probabile che non si incontri il problema e quindi la vulnerabilit\u00e0 ha colpito poche persone. Va inoltre notato che le correzioni sul calcolo della lunghezza in questo caso specifico nelle modifiche commesse sembrano non esserci (oppure ho cercato male?), c'\u00e8 solo una protezione che trasforma il problema in un errore controllato della richiesta http. Anche se il 19 luglio in freenginx sono state aggiunte alcune correzioni (<a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/5bfb1aa8b443\">5bfb<\/a>, <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/762271b9b20c\">7622<\/a>, <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/hg\/nginx\/rev\/b9068e5a711c\">b906<\/a>) al calcolo della lunghezza per situazioni simili, non \u00e8 possibile capire subito se si tratta di questo o meno. <\/p>\n<p>La vulnerabilit\u00e0 \u00e8 apparsa nella versione nginx 0.9.6, le correzioni sono state incluse nelle versioni freenginx 1.31.3, nginx 1.30.4, nginx 1.31.3.<\/p>\n<p> In SA, nginx riconosce i ringraziamenti a diverse persone per le segnalazioni indipendenti sulle vulnerabilit\u00e0 e il rispetto degli \"standard di divulgazione coordinata delle informazioni\":<\/p>\n<blockquote><p><noindex><\/p>\n<p> F5 riconosce Ming Xuan, DKD (@pidifn), Ji\u2019an Zhou e Zhen Yan di AntAISecurityLab, Rafael Gacek, Sergii Negodiuk di EVO.company, Lam Jun Rong di Calif.io, Mufeed VH di Winfunc Research (winfunc.com), Vexera AI (<a rel=\"nofollow\" href=\"https:\/\/vexera.ai\">https:\/\/vexera.ai<\/a>), Tu Tran Dinh (@1w4y), Stan Shaw (cyberstan), qianshuidewajueji, zenneth (randomguy6407), Zhenpeng (Leo) Lin di depthfirst, Lukas Johannes Moeller, Melih Tolga Sahin di Vodafone T\u00fcrkiye, Ayoub Nabil Boubagrat (GitHub: @ayoubnabil), e Milan Jovic (Kljunowsky) per aver portato indipendentemente questa problematica alla nostra attenzione e per aver rispettato i pi\u00f9 alti standard di divulgazione coordinata.<\/p>\n<p><\/noindex><\/p><\/blockquote>\n<p>In freenginx, le informazioni aggiuntive sulla correzione sono effettivamente limitate a un messaggio nel commit. In <a rel=\"nofollow\" href=\"https:\/\/freenginx.org\/ru\/CHANGES.ru\">changelog<\/a>- questa correzione non \u00e8 nemmeno contrassegnata con il timbro \"sicurezza\" (security) o \"correzione\" (bugfix), ma semplicemente \"aggiunta\" (feature). Probabilmente, l'autore non considerava questo problema critico. Non \u00e8 stato possibile chiarire come i messaggi sul problema da parte delle persone nominate in F5 siano correlati al commit preso da freenginx, se lo avessero segnalato (o qualcuno altro) all'autore di freenginx. <\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/security\/18354205\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>3 TL;DR: \u0421\u0442\u043e\u043b\u043a\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u0441 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0437\u0430 2026 \u0433\u043e\u0434 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0444\u0435\u0440\u0430 (\u0438, \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 F5, RCE \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 ASLR) \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0440\u0435\u0433\u044d\u043a\u0441\u043f\u0430\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a freenginx \u041c\u0430\u043a\u0441\u0438\u043c \u0414\u0443\u043d\u0438\u043d \u0440\u0435\u0448\u0438\u043b, \u0447\u0442\u043e \u043f\u043e\u0440\u0430 \u044d\u0442\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0442\u044c, \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u0441\u0432\u043e\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u043d\u0435\u0451 \u0434\u0430\u043d\u043d\u044b\u0435. \u041e\u0442\u0442\u0443\u0434\u0430 \u044d\u0442\u043e \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0443\u0442\u0430\u0449\u0438\u043b\u0438 \u043a \u0441\u0435\u0431\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-182826","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"3 TL;DR: \u0421\u0442\u043e\u043b\u043a\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u0441 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0437\u0430 2026 \u0433\u043e\u0434 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0444\u0435\u0440\u0430 (\u0438, \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 F5.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Emin Berklin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 freenginx \u0438 nginx \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u043d\u0435\u0451 \u0434\u0430\u043d\u043d\u044b\u0435 (+ CVE) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"3 TL;DR: \u0421\u0442\u043e\u043b\u043a\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u0441 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0437\u0430 2026 \u0433\u043e\u0434 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0444\u0435\u0440\u0430 (\u0438, \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 F5.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-08-11T02:54:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-11T02:54:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47In freenginx e nginx \u00e8 stata aggiunta una verifica delle dimensioni della variabile testuale prima di scriverci i dati (+ CVE) | ProHoster","description":"3 TL;DR: Incontrato il terzo overflow del buffer trovato nel 2026 (e, secondo F5.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 freenginx \u0438 nginx \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 \u043d\u0435\u0451 \u0434\u0430\u043d\u043d\u044b\u0435 (+ CVE) | ProHoster","og:description":"3 TL;DR: \u0421\u0442\u043e\u043b\u043a\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u0441 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0437\u0430 2026 \u0433\u043e\u0434 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0431\u0443\u0444\u0435\u0440\u0430 (\u0438, \u043f\u043e \u0432\u0435\u0440\u0441\u0438\u0438 F5.","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/v-freenginx-i-nginx-dobavili-proverku-razmera-tekstovoj-peremennoj-pered-tem-kak-zapisyvat-v-neyo-dannye-cve","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-08-11T02:54:22+00:00","article:modified_time":"2026-08-11T02:54:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/182826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=182826"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/182826\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=182826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=182826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=182826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}