Netcrook Logo
👤 KERNELWATCHER
🗓️ 06 Jan 2026  

Oltre i confini: come una falla nel caricamento dei file in AdonisJS ha spalancato la porta agli intrusi sui server

Una falla critica nel sistema di upload dei file di AdonisJS ha lasciato innumerevoli server vulnerabili a scritture di file da remoto - e potenzialmente, a una compromissione completa.

È iniziato in silenzio, come accade per la maggior parte delle violazioni. Uno sviluppatore, fidandosi di un popolare framework JavaScript, carica un file. Ma, sotto la superficie, una sottile falla nella logica di gestione dei file di AdonisJS ha aperto una backdoor che consente ad attaccanti remoti di scrivere file ovunque sul server. All’improvviso, quello che sembrava un innocuo endpoint di upload è diventato un potenziale trampolino di lancio per devastanti intrusioni informatiche.

L’anatomia di un exploit

Il cuore del problema risiede nella funzione MultipartFile.move() di AdonisJS, usata per gestire i caricamenti di file. Se gli sviluppatori non sanificano i nomi dei file o non specificano opzioni di sicurezza, il framework si fida ciecamente di qualunque filename fornito dal client - anche se contiene pericolose sequenze di attraversamento delle directory come ../../../. Questo consente a un attaccante di collocare un file in qualsiasi posizione scrivibile sul server, non solo nella cartella di upload prevista.

A peggiorare le cose, il comportamento predefinito consente anche di sovrascrivere file esistenti. Ciò significa che un attore malevolo potrebbe sostituire script critici, file di configurazione o persino codice dell’applicazione, preparando il terreno per l’esecuzione di codice da remoto (RCE). Tuttavia, l’entità dei danni dipende dai permessi del server e da come l’applicazione è distribuita. Nel peggior scenario, un attaccante potrebbe dirottare l’intero server; nel migliore, avrebbe comunque un punto d’appoggio per piantare file malevoli o interrompere il servizio.

Com’è potuto accadere?

Ad aumentare il rischio, la stessa documentazione di AdonisJS ha involontariamente incoraggiato pattern di implementazione insicuri. Molti sviluppatori, seguendo esempi ufficiali, hanno omesso passaggi di sicurezza cruciali - lasciando le loro applicazioni completamente esposte. La vulnerabilità richiede soltanto un endpoint di upload raggiungibile e uno sviluppatore che abbia trascurato di sanificare l’input o di configurare correttamente le opzioni. Non sono necessarie autenticazione né forme di accesso speciale.

Alla falla è stato assegnato un punteggio CVSS v4.0 critico, che riflette il vettore d’attacco via rete e la facilità di sfruttamento. Le organizzazioni che utilizzano versioni vulnerabili di AdonisJS sono fortemente invitate ad aggiornare immediatamente e a verificare tutti gli handler di upload per una corretta validazione dei nomi file e impostazioni di sicurezza esplicite. Il team di sicurezza di AdonisJS ora raccomanda una rigorosa validazione dell’input e la disabilitazione della sovrascrittura dei file, salvo quando assolutamente necessaria e accuratamente verificata.

Lezioni dalla violazione

Questo incidente è un duro promemoria: anche i framework considerati affidabili possono nascondere vulnerabilità pericolose, soprattutto quando la documentazione non è all’altezza. Gli sviluppatori devono restare vigili, senza mai dare per scontato che “sicuro per impostazione predefinita” significhi davvero sicuro in ogni scenario. Per le organizzazioni che eseguono AdonisJS, il momento di applicare le patch e fare audit è adesso - prima che gli attaccanti trovino la vostra porta aperta.

WIKICROOK

  • Path Traversal: Il Path Traversal è una falla di sicurezza in cui gli attaccanti manipolano i percorsi dei file per accedere a file o dati al di fuori dei confini previsti di un sistema.
  • Multipart/form: Multipart/form è un tipo di contenuto HTTP che consente il caricamento di file e dati tramite moduli web, spesso usato per inviare immagini o documenti online.
  • Remote Code Execution (RCE): La Remote Code Execution (RCE) si verifica quando un attaccante esegue il proprio codice sul sistema della vittima, spesso portando al controllo completo o alla compromissione di quel sistema.
  • CVSS: CVSS (Common Vulnerability Scoring System) è un metodo standard per valutare la gravità delle falle di sicurezza, con punteggi da 0.0 a 10.0.
  • Input Validation: La validazione dell’input verifica e ripulisce i dati dell’utente prima dell’elaborazione, aiutando a prevenire minacce alla sicurezza e garantendo che le applicazioni gestiscano le informazioni in modo sicuro.
AdonisJS file upload flaw cyber security

KERNELWATCHER KERNELWATCHER
Linux Kernel Security Analyst
← Back to news