
Informe y prueba de concepto para CVE-2026-96878, un XSS almacenado en los alias de campo Exhibit de MediaWiki Cargo, con notas de validación y referencias a la corrección upstream.
Reportero: Marco Paciaroni (BomboBombone).
El renderizador Exhibit de Cargo insertaba alias de campos en su presentación HTML sin codificarlos para contextos de texto y de atributos. Un editor de páginas podía persistir una consulta cuyos alias se interpretaban como marcado cuando se visualizaba la página.
El registro CVE identifica Cargo hasta la versión 3.9.4 como afectado.
El escenario reportado requería el formato Exhibit, permiso para editar una página mostrada a otros usuarios y una consulta con múltiples campos. La ejecución de scripts ocurría en el origen del wiki para los visitantes de esa página.
El informe original registra ejecución en el navegador desde una vista Exhibit en una instancia local de MediaWiki. Un alias ordinario no produjo ningún elemento portador de eventos.
El cambio upstream construye la presentación Exhibit con helpers HTML que codifican el texto de los alias y los valores de los atributos en sus contextos respectivos.
python poc.py TABLE FIELD_ONE FIELD_TWO
El script imprime una consulta de Cargo Exhibit con un marcador DOM inofensivo. Añádalo solo a una página de prueba que esté autorizado a editar, observe la vista Exhibit renderizada y elimínelo después.
La descripción pública del CVE etiqueta actualmente este problema como XSS reflejado. El informe presentado describe una consulta persistida en el contenido editable de una página y activada por una visualización posterior de la página. Este informe describe ese escenario almacenado sin modificar el registro CVE.