<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>flaw Archivi - Webbare</title>
	<atom:link href="https://www.webbare.it/tag/flaw/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.webbare.it/tag/flaw/</link>
	<description>Easy choise, easy way!</description>
	<lastBuildDate>Wed, 26 Mar 2025 14:44:21 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://www.webbare.it/wp-content/uploads/2020/02/jira-logo-scaled.png</url>
	<title>flaw Archivi - Webbare</title>
	<link>https://www.webbare.it/tag/flaw/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Scoperta una falla di sicurezza nel framework Next.js</title>
		<link>https://www.webbare.it/2025-03-sicurezza-next-js-critica/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sicurezza-next-js-critica</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 26 Mar 2025 14:42:40 +0000</pubDate>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flaw]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[next.js]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[vulnerability]]></category>
		<guid isPermaLink="false">https://www.webbare.it/?p=46378</guid>

					<description><![CDATA[<p>L'articolo <a href="https://www.webbare.it/2025-03-sicurezza-next-js-critica/">Scoperta una falla di sicurezza nel framework Next.js</a> proviene da <a href="https://www.webbare.it">Webbare</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper" id="wpb-content-root"><div id="vc_row-6a9b4dc169333" class="vc_row wpb_row vc_row-fluid thegem-custom-6a9b4dc1692c97051"><div class="wpb_column vc_column_container vc_col-sm-12 thegem-custom-6a9b4dc171ea6908" ><div class="vc_column-inner thegem-custom-inner-6a9b4dc171eaf "><div class="wpb_wrapper thegem-custom-6a9b4dc171ea6908">
	
		<div class="wpb_text_column wpb_content_element  thegem-vc-text thegem-custom-6a9b4dc17286c5938"  >
			<div class="wpb_wrapper">
				<p>È stata scoperta una falla critica nella sicurezza nel popolare framework Next.js, che potrebbe avere un impatto su milioni di siti web e applicazioni.</p>
<p>I ricercatori di sicurezza Rachid Allam, noto online come <em>zhero</em>, e Yasser Allam (inzo_) hanno collaborato per scoprire la falla nella funzionalità middleware del framework.</p>
<p><strong>Next.js</strong>, che vanta oltre 130.000 stelle su GitHub e quasi 10 milioni di download settimanali, è un framework costruito su React. Il suo ampio set di funzionalità lo rende una scelta popolare per gli sviluppatori, ma presenta anche un&#8217;ampia superficie di attacco per i ricercatori di sicurezza.</p>
<p>La vulnerabilità risiede nel modo in cui Next.js gestisce il middleware, una funzione che consente agli sviluppatori di eseguire codice prima che una richiesta sia completata.</p>
<p>Il middleware è un componente cruciale per diverse funzionalità, tra cui la riscrittura dei percorsi, i reindirizzamenti lato server, l&#8217;aggiunta di intestazioni di sicurezza come CSP e, soprattutto, l&#8217;autenticazione e l&#8217;autorizzazione.</p>
<p>Un esempio tipico fornito nel blog post illustra questo aspetto: <em>“Quando un utente tenta di accedere a /dashboard/admin, la sua richiesta passa prima attraverso il middleware, che controlla se i suoi cookie di sessione sono validi e gli concede le autorizzazioni necessarie. In caso affermativo, il middleware inoltrerà la richiesta; altrimenti, il middleware reindirizzerà l&#8217;utente a una pagina di login”.</em></p>
<p>La scoperta dei ricercatori è avvenuta esaminando le versioni precedenti del framework. Analizzando la versione 12.0.7, hanno identificato un pezzo di codice specifico all&#8217;interno della funzione runMiddleware.</p>
<p>Questa funzione, responsabile dell&#8217;esecuzione del middleware, recupera il valore dell&#8217;intestazione x-middleware-subrequest. Questa intestazione serve a determinare se il middleware deve essere applicato a una determinata richiesta. Il valore di questa intestazione viene suddiviso in un elenco utilizzando i due punti (:) come separatore e il framework controlla se questo elenco contiene il valore middlewareInfo.name.</p>
<p>I ricercatori si sono resi conto che aggiungendo l&#8217;intestazione x-middleware-subrequest con un valore specifico a una richiesta, potevano effettivamente bypassare completamente il middleware.</p>
<blockquote><p>
“Ciò significa che se aggiungiamo l&#8217;intestazione x-middleware-subrequest con il valore corretto alla nostra richiesta, il middleware &#8211; qualunque sia il suo scopo &#8211; sarà completamente ignorato e la richiesta sarà inoltrata tramite NextResponse.next() e completerà il suo viaggio verso la destinazione originale senza che il middleware abbia alcun impatto/influenza su di essa”. L&#8217;intestazione e il suo valore agiscono come una chiave universale che consente di ignorare le regole”.
</p></blockquote>
<p>L&#8217;elemento cruciale era determinare il valore corretto per questa “chiave universale”, che dipende da middlewareInfo.name. Questo valore, si scopre, è il percorso del file middleware.</p>
<p>Nelle versioni precedenti di Next.js (prima della 12.2), i file middleware dovevano essere denominati _middleware.ts e risiedevano all&#8217;interno della directory pages a causa dell&#8217;uso esclusivo del router pages. Questo ha permesso ai ricercatori di dedurre il percorso esatto e quindi il valore dell&#8217;intestazione x-middleware-subrequest: pages/_middleware.</p>
<p>I test hanno confermato i loro sospetti. Quando si cercava di accedere a un percorso protetto come /dashboard/team/admin che era configurato per reindirizzare a /dashboard, l&#8217;aggiunta dell&#8217;intestazione x-middleware-subrequest: pages/_middleware consentiva di aggirare il reindirizzamento e di accedere direttamente alla pagina protetta.</p>
<p>Inoltre, le versioni precedenti alla 12.2 consentivano file middleware annidati, ognuno con il proprio ordine di esecuzione. Ciò significa che per un percorso come /dashboard/panel/admin, esistevano più valori potenziali per l&#8217;intestazione x-middleware-subrequest: pages/_middleware, pages/dashboard/_middleware o pages/dashboard/panel/_middleware.</p>
<p>Inizialmente, i ricercatori ritenevano che la vulnerabilità fosse limitata alle versioni precedenti alla 13, a causa di modifiche nella gestione del middleware. Tuttavia, il proseguimento delle indagini ha rivelato una realtà molto più preoccupante.</p>
<p><strong><em>“Con grande sorpresa, due giorni dopo la scoperta iniziale, abbiamo scoperto che tutte le versioni di next.js, a partire dalla versione 11.1.4, erano vulnerabili”,</em> </strong>ha dichiarato Allam.</p>
<p>Sebbene la posizione del codice e la logica di exploit siano leggermente cambiate nelle nuove versioni, la falla fondamentale è rimasta. A partire dalla versione 12.2, i file middleware sono denominati semplicemente middleware.ts e si trovano nella directory principale o nella directory /src, se utilizzata. Questo semplifica i valori potenziali per l&#8217;intestazione x-middleware-subrequest a middleware o src/middleware.</p>
<p>Nelle ultime versioni di Next.js, la logica si è evoluta nuovamente per evitare loop infiniti. Il framework ora controlla la profondità del valore dell&#8217;intestazione x-middleware-subrequest rispetto a un MAX_RECURSION_DEPTH (impostato a 5). Per aggirare il middleware in queste versioni, l&#8217;intestazione deve includere il percorso corretto ripetuto più volte.</p>
<p>I ricercatori hanno fornito esempi concreti di come questa vulnerabilità possa essere sfruttata in scenari reali:</p>
<ul>
<li>Bypass dell&#8217;autorizzazione/riscrittura: Aggiungendo l&#8217;header dannoso, sono stati in grado di accedere a un endpoint /admin/login altrimenti protetto da un rewrite basato su middleware.</li>
<li>Bypass del CSP: Hanno dimostrato come la vulnerabilità potesse essere utilizzata per aggirare la Content Security Policy (CSP) e le impostazioni dei cookie applicate dal middleware.</li>
<li>Denial-of-Service (DoS) tramite cache-poisoning: In determinate configurazioni, la vulnerabilità potrebbe essere sfruttata per causare un attacco DoS con avvelenamento della cache. Ciò potrebbe verificarsi se un sito riscrive i percorsi degli utenti in base alla posizione e non ha una risorsa nel percorso principale. L&#8217;aggiramento del middleware porterebbe a un errore 404 sulla radice, che potrebbe essere memorizzato nella cache da un CDN per rendere potenzialmente inutilizzabile il sito.</li>
</ul>
<h4>Impatto e rimedio</h4>
<p>“Per essere chiari, l&#8217;elemento vulnerabile è il middleware. Se non viene utilizzato (o almeno non viene utilizzato per scopi sensibili), non c&#8217;è nulla di cui preoccuparsi&#8230; poiché bypassando il middleware non si bypassa alcun meccanismo di sicurezza. In caso contrario, le conseguenze possono essere catastrofiche”, avvertono i ricercatori.</p>
<p>È stato emesso un avviso di sicurezza, CVE-2025-29927, per risolvere questa falla critica, alla quale è stato assegnato un punteggio CVSS di 9,1 su 10. I ricercatori hanno osservato che le piattaforme come Vercel non sono in grado di risolvere il problema.</p>
<p>I ricercatori hanno notato che piattaforme come Vercel e Netlify hanno implementato delle mitigazioni, anche se Cloudflare ha inizialmente introdotto una regola che è stata poi resa opt-in a causa dei falsi positivi.</p>
<p>“Questa vulnerabilità è presente da diversi anni nel codice sorgente di next.js, evolvendosi con il middleware e le sue modifiche nel corso delle versioni”, ha dichiarato Allam.</p>
<p>“Una vulnerabilità critica può verificarsi in qualsiasi software, ma quando colpisce uno dei framework più popolari, diventa particolarmente pericolosa e può avere gravi conseguenze per l&#8217;ecosistema in generale”.</p>
<p>Il team di Vercel, gli sviluppatori di Next.js, ha reagito prontamente una volta a conoscenza del problema. Una correzione è stata implementata e rilasciata nel giro di poche ore, includendo backport alle vecchie versioni supportate.</p>
<p><iframe id="twitter-widget-0" class="" style="position: static; visibility: visible; width: 550px; height: 345px; display: block; flex-grow: 1;" title="X Post" src="https://platform.twitter.com/embed/Tweet.html?creatorScreenName=Gadget_Ry&amp;dnt=true&amp;embedId=twitter-widget-0&amp;features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&amp;frame=false&amp;hideCard=false&amp;hideThread=false&amp;id=1903798429651701843&amp;lang=en-gb&amp;origin=https%3A%2F%2Fwww.developer-tech.com%2Fnews%2Fcritical-security-flaw-uncovered-next-js-framework%2F&amp;sessionId=4ff8b52c7ce95a296885d222c7dca4a38c027d80&amp;siteScreenName=Developer_Tech&amp;theme=light&amp;widgetsVersion=2615f7e52b7e0%3A1702314776716&amp;width=550px" frameborder="0" scrolling="no" allowfullscreen="allowfullscreen" data-tweet-id="1903798429651701843"></iframe></p>
<p>Agli sviluppatori che utilizzano Next.js si consiglia vivamente di aggiornare alle versioni corrette o di implementare immediatamente la soluzione consigliata.</p>

			</div>
			<style>@media screen and (max-width: 1023px) {.thegem-vc-text.thegem-custom-6a9b4dc17286c5938{display: block!important;}}@media screen and (max-width: 767px) {.thegem-vc-text.thegem-custom-6a9b4dc17286c5938{display: block!important;}}@media screen and (max-width: 1023px) {.thegem-vc-text.thegem-custom-6a9b4dc17286c5938{position: relative !important;}}@media screen and (max-width: 767px) {.thegem-vc-text.thegem-custom-6a9b4dc17286c5938{position: relative !important;}}</style>
		</div>
	
</div></div></div></div>
</div><p>L'articolo <a href="https://www.webbare.it/2025-03-sicurezza-next-js-critica/">Scoperta una falla di sicurezza nel framework Next.js</a> proviene da <a href="https://www.webbare.it">Webbare</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
