
Notas de verificación de prueba de concepto y parche para CVE-2026-96877, un XSS reflejado en las migas de pan de la búsqueda de texto completo de Cargo Drilldown, con un script de detección en Python.
Reportero: Marco Paciaroni (BomboBombone).
Cargo mostraba un término de búsqueda de texto completo en su breadcrumb de Drilldown sin escape HTML. Por lo tanto, la entrada de búsqueda podía convertirse en marcado ejecutable en la página de resultados.
El registro CVE identifica Cargo hasta la versión 3.9.4 como afectado.
El problema dependía de la indexación de páginas de texto completo habilitada y de una tabla consultable públicamente cuyos resultados llegaran a la visualización afectada. Un atacante anónimo podía preparar una solicitud que ejecutara script cuando una víctima la abriera.
El informe original registra la ejecución local en el navegador desde el breadcrumb y un control ordinario que se renderizaba sin un elemento ejecutable.
El cambio upstream escapa el término de búsqueda de texto completo mostrado antes de añadirlo al breadcrumb.
python poc.py https://wiki.example TABLE SEARCH_TERM
La tabla debe usar la indexación de páginas de texto completo de Cargo, y el término proporcionado debe coincidir con el texto de la página. El script informa si el breadcrumb contiene el marcador inofensivo sin escapar.