Mercoledi 21 Ottobre 2026 17:17:43 GMT+02:00

Netcrook

HomeManifesto
News
Techcrook
Geocrook
WikicrookTeamAppContatti
ItalianoEnglish

Vulnerabilità e gestione delle patch

Quando la comodità del framework diventa superficie d'attacco: quattro percorsi di Struts che meritano una patch

Pubblicato: 06 Ottobre 2026 14:23Categoria: Vulnerabilità e gestione delle patchArea: Nord America / USAAutore: NEONPALADIN

Gli utenti di Apache Struts sono spinti a considerare routing, rendering, parsing delle richieste e messaggi localizzati come confini di sicurezza, dopo che quattro difetti specifici delle funzionalità sono stati collegati a rischi di esecuzione di codice, denial of service ed esposizione di dati tra utenti.

Apache Struts è tornato sotto i riflettori con un promemoria: i framework maturi spesso nascondono i loro lati più taglienti nelle funzionalità opzionali, non nel flusso principale delle richieste. Gli ultimi avvisi suddividono il problema in quattro percorsi distinti: il legacy action mapping, il rendering dei decimali, la gestione del corpo delle richieste REST e la formattazione dei messaggi localizzati. Questo è importante perché ciascun percorso comporta una modalità di guasto diversa, dall'esecuzione di codice remoto alla perdita di disponibilità e a possibili fughe di dati tra utenti.

Fatti rapidi

  • Quattro vulnerabilità di Struts sono state identificate tra routing, conversione dei tipi, parsing REST e formattazione dei messaggi.
  • Gli esiti del rischio variano in base all'uso della funzionalità e alla configurazione, includendo esecuzione di codice remoto, denial of service ed esposizione di dati tra utenti.
  • Il percorso legacy del RESTful action mapper è la preoccupazione RCE più chiara, soprattutto se Struts 7 è distribuito con la allowlist OGNL disabilitata.
  • Apache indica Struts 7.4.0 e 6.12.0 come linee di rilascio corrette.
  • Le applicazioni che non utilizzano i percorsi di funzionalità interessati potrebbero non essere esposte a tutti i bollettini.

Perché questi difetti sono diversi

Il modello qui non è una singola rottura universale in Struts. Piuttosto, ogni avviso riguarda un sottosistema diverso e ciascun sottosistema ha il proprio modello di minaccia. Il codice di routing legacy può diventare un confine tra input e codice se viene raggiunto il processing OGNL. Il rendering dei decimali può trasformare una piccola richiesta in una risposta troppo grande e consumare risorse. Il parsing del corpo REST può diventare un problema di denial of service se l'input viene letto senza un limite superiore efficace. La formattazione dei messaggi localizzati può creare problemi di stato condiviso in cui il valore di un utente appare nella risposta di un altro.

È proprio questa progettazione specifica per funzionalità a rendere il caso importante per i difensori. Nelle distribuzioni reali, la patch è necessaria ma non sufficiente a meno che i team non sappiano anche quali moduli del framework sono effettivamente attivi. Un'applicazione Struts che non usa mai il legacy mapper non ha la stessa esposizione di una che continua a farvi affidamento. La stessa logica vale per il rendering di BigDecimal, l'uso del plugin REST e la formattazione di data o ora all'interno dei messaggi localizzati.

Al momento della scrittura, le informazioni pubbliche non hanno stabilito completamente alcuna reale attività di sfruttamento, l'ambito completo delle distribuzioni interessate o se i sistemi downstream siano stati toccati. Le informazioni disponibili supportano un'analisi del rischio, non una dichiarazione definitiva di compromissione diffusa.

Cosa dovrebbero fare subito i difensori

La mossa immediata è aggiornare a Struts 7.4.0 o 6.12.0. Dopo di ciò, i team dovrebbero verificare se dipendono ancora dal legacy action mapper, dalla gestione del corpo REST, dal rendering di BigDecimal tramite i tag di Struts o dai messaggi localizzati che formattano valori di data o ora. Per gli endpoint REST, una seconda linea di difesa consiste nell'imporre anche all'esterno dell'applicazione limiti alla dimensione del corpo, in modo che il server non si affidi solo al comportamento del framework.

La lezione più ampia è semplice: nei web framework, il rischio di sicurezza spesso vive nelle funzionalità che avevi dimenticato esistessero. Il percorso di codice più sicuro non è sempre quello che scrivi più spesso - è quello che conosci abbastanza bene da poter controllare.

WIKICROOK

  • Iniezione OGNL: Una vulnerabilità in cui un input controllato dall'attaccante raggiunge la valutazione del linguaggio Object-Graph Navigation Language e può portare all'esecuzione di codice.
  • Denial of service: Un attacco che riduce la disponibilità esaurendo CPU, memoria, banda o altre risorse del servizio.
  • Plugin REST: Un modulo opzionale di Struts che elabora i corpi delle richieste in stile REST e la relativa gestione delle azioni.
  • BigDecimal: Un tipo Java per valori decimali precisi, che può diventare rilevante per la sicurezza quando viene associato da input e ripresentato agli utenti.
  • Stato condiviso: Dati o oggetti riutilizzati tra richieste che possono causare fughe di informazioni tra utenti o race condition se non sono isolati correttamente.