
Report e proof-of-concept per CVE-2026-96878, una XSS memorizzata negli alias dei campi Exhibit di MediaWiki Cargo, con note di validazione e riferimenti alla correzione upstream.
Segnalatore: Marco Paciaroni (BomboBombone).
Il renderer Exhibit di Cargo inseriva gli alias dei campi nella propria presentazione HTML senza codificarli per i contesti di testo e di attributo. Un editor di pagine poteva rendere persistente una query i cui alias venivano interpretati come markup quando la pagina veniva visualizzata.
Il record CVE identifica come interessate le versioni di Cargo fino alla 3.9.4.
Lo scenario segnalato richiedeva il formato Exhibit, il permesso di modificare una pagina mostrata ad altri utenti e una query con più campi. L'esecuzione di script avveniva nell'origine della wiki per i visitatori di quella pagina.
Il report originale documenta l'esecuzione nel browser da una vista Exhibit su un'istanza locale di MediaWiki. Un alias ordinario non produceva alcun elemento associato a eventi.
La modifica upstream costruisce la presentazione Exhibit con helper HTML che codificano il testo degli alias e i valori degli attributi nei rispettivi contesti.
python poc.py TABLE FIELD_ONE FIELD_TWO
Lo script stampa una query Cargo Exhibit con un marcatore DOM innocuo. Aggiungerla solo a una pagina di test che si è autorizzati a modificare, osservare la vista Exhibit renderizzata e rimuoverla successivamente.
La descrizione pubblica della CVE etichetta attualmente questo problema come XSS riflesso. Il report inviato descrive una query resa persistente in contenuto di pagina modificabile e attivata da una successiva visualizzazione della pagina. Questo report descrive tale scenario memorizzato senza modificare il record CVE.