CVE-2026-83539 in Wicketinformazioni

Riassunto

di VulDB • 01/11/2026

Mancata neutralizzazione impropria dell'input durante la generazione della pagina web in Apache Wicket.

I componenti `org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel` e `org.apache.wicket.extensions.markup.html.basic.SmartLinkMultiLineLabel` visualizzano un valore testuale e convertono qualsiasi URL trovato al suo interno in un ipertesto (hyperlink). Entrambi i componenti effettuano l'escaping del valore del modello (model value) e quindi passano il testo elaborato a `org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser`, che lo analizza alla ricerca di pattern della forma `scheme://rest` e racchiude ogni corrispondenza in un elemento anchor (`<a>`) il cui attributo `href` è la stringa trovata, copiata così com'è. Il pattern accetta qualsiasi schema (protocollo) e non esiste alcun elenco di schemi consentiti lungo il percorso di elaborazione. Un valore testuale che indica uno schema capace di eseguire script diventa quindi un anchor in grado di eseguirlo nell'origine dell'applicazione e nella sessione stessa del lettore, quando quest'ultimo fa clic sul link. La semplice renderizzazione della pagina non è sufficiente; il link deve essere attivato. L'escaping non previene questa situazione ed non costituisce la radice del problema: i caratteri necessari per il payload sono tutti validi in un URL e vengono lasciati invariati da `org.apache.wicket.util.string.Strings#escapeMarkup()`, inoltre il valore finisce all'interno di un attributo URL piuttosto che nel testo dell'elemento, contesto in cui l'applicazione dell'escaping sui dati del modello non garantisce la sicurezza.

Un'applicazione è vulnerabile quando renderizza testi ricevuti tramite uno dei due componenti sopra citati. Questa è esattamente la loro funzione: esistono per convertire in link (linkify) indirizzi email e URL web trovati nei dati visualizzati dall'applicazione, quindi l'input non attendibile è lo scopo principale della funzionalità piuttosto che un suo utilizzo improprio, senza richiedere configurazioni insolite. Nessun altro componente utilizza questo parser; di conseguenza, un'applicazione che non usa né `SmartLinkLabel` né `SmartLinkMultiLineLabel` non è interessata dal problema.

Nelle versioni 9.x e 10.x, l'intestazione Content-Security-Policy (CSP) inviata per default da Wicket ammette script solo se provenienti da una fonte che include un nonce specifico per la risposta; poiché un URL il cui schema esegue script non può trasportare tale nonce, questa policy di default impedisce l'esecuzione dello script. Questa è una proprietà della policy predefinita e non dei componenti stessi. Un'applicazione che ha indebolito o disabilitato la propria Content-Security-Policy, per questo motivo o per altri motivi indipendenti, risulta pienamente vulnerabile. Wicket 8.x non supporta affatto le Content-Security-Policy ed è quindi interessato dal problema nella sua configurazione attuale.

Questo issue interessa Apache Wicket: dalle versioni 8.0.0 alla 8.19.0, dalla 9.0.0 alla 9.24.0 e dalla 10.0.0 alla 10.11.0. Gli utenti di Apache Wicket 7.x o precedenti, che non sono più supportati, dovrebbero effettuare l'upgrade a una versione supportata. Si raccomanda agli utenti di aggiornare alle versioni 8.20.0, 9.25.0 oppure 10.12.0, che risolvono il problema.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsabile

Apache

Prenotare

31/08/2026

Divulgazione

02/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!