
Note di proof-of-concept e verifica della patch per CVE-2026-96877, una XSS riflessa nei breadcrumb della ricerca full-text di Cargo Drilldown, con uno script di rilevamento in Python.
Segnalatore: Marco Paciaroni (BomboBombone).
Cargo visualizzava un termine di ricerca full-text nel breadcrumb di Drilldown senza effettuare l'escaping HTML. L'input di ricerca poteva quindi diventare markup eseguibile nella pagina dei risultati.
Il record CVE identifica Cargo fino alla 3.9.4 come interessato.
Il problema dipendeva dall'indicizzazione full-text delle pagine abilitata e da una tabella interrogabile pubblicamente i cui risultati raggiungevano la visualizzazione interessata. Un attaccante anonimo poteva preparare una richiesta che eseguiva script quando una vittima la apriva.
Il report originale documenta l'esecuzione nel browser locale a partire dal breadcrumb e un controllo ordinario che veniva renderizzato senza un elemento eseguibile.
La modifica upstream effettua l'escaping del termine di ricerca full-text visualizzato prima di aggiungerlo al breadcrumb.
python poc.py https://wiki.example TABLE SEARCH_TERM
La tabella deve utilizzare l'indicizzazione full-text delle pagine di Cargo e il termine fornito deve corrispondere al testo della pagina. Lo script segnala se il breadcrumb contiene il marker innocuo non sottoposto a escaping.