
Informe y script de prueba de concepto para CVE-2026-96875, un XSS reflejado en los filtros de jerarquía de MediaWiki Cargo Drilldown, con notas de validación y referencias a la corrección upstream.
Reportero: Marco Paciaroni (BomboBombone).
Cargo no preservaba el escapado al formatear un valor de filtro de jerarquía para la ruta de navegación de Drilldown. Los datos de la solicitud podían interpretarse como HTML en la página resultante.
El registro CVE identifica Cargo hasta la versión 3.9.4 como afectada.
El escenario reportado requería una tabla pública de Cargo con un campo de jerarquía. Un atacante anónimo podía preparar una solicitud para que una víctima la abriera, lo que resultaba en la ejecución de scripts en el origen del wiki.
El informe original registra la ejecución en el navegador a partir de la visualización del filtro reflejado en una instancia local de MediaWiki. Un valor de filtro ordinario se mostraba como texto.
El cambio upstream elimina la decodificación de entidades de la salida formateada del filtro y ajusta el manejo de mensajes para preservar el límite de texto previsto.
python poc.py https://wiki.example TABLE FIELD
El script envía la solicitud de filtro de jerarquía con un marcador DOM inofensivo e informa si la respuesta contiene un elemento de imagen sin escapar.
La descripción pública del CVE actualmente etiqueta este problema como XSS almacenado. El informe enviado describe un valor de solicitud reflejado en la respuesta. Este informe describe ese comportamiento observado sin modificar el registro CVE.