CVE-2025-58765: XSS Reflejado en Wayback Machine - Wabac.js

Camilo Galdos • March 4, 2026
Un fondo blanco con algunas líneas.
Gráfico oscuro con

Análisis Rápido: XSS en Wayback Machine CVE-2025-58765

El equipo de research de DeepSecurity ha identificado y reportado la vulnerabilidad CVE-2025-58765, un caso de Reflected Cross-Site Scripting (XSS) en la lógica de manejo de páginas 404 de wabac.js, componente utilizado por paquetes como @webrecorder/wabac, @webrecorder/archivewebpage y replaywebpage. La falla se origina porque el parámetro   requestURL   es insertado directamente dentro de un bloque  <script>   sin ningún tipo de escape, permitiendo a un atacante construir URLs maliciosas capaces de ejecutar código JavaScript arbitrario en el navegador de la víctima.


XSS reflejado en Javascript

En un XSS tradicional reflejado un valor no sanitizado controlado por el usuario, es usado para renderizar código javascript en el navegador de la víctima. Como ejemplo imaginemos una ruta que le da la bienvenida a un usuario tomando como valor el nombre del usuario de la variable GET name.


URL: https://vulnerabledomain.com/welcome?name=foobar1


HTML Ejemplo:


<h1> Bienvenido </h1> foobar1

Si un atacante ingresara https://vulnerabledomain.com/welcome?name=<script>alert(1);</script> el código javascript se renderizaría y tendríamos un XSS reflejado clásico.


HTML Ejemplo:


<h1> Bienvenido </h1> <script>alert(1);</script>


En el caso del XSS reflejado en javascript, siguiendo con el ejemplo de la bienvenida a un usuario, imaginemos la URL es:


https://vulnerabledomain.com/welcome?name=foobar1


el html referencial sería el siguiente:



<h1> Bienvenido < /h1><div id="bienvenido"> </div>
< script > // Asignamos el texto de ?name= al div 'bienvenido'
document. getElementById ( "bienvenido" ). textContent = "foobfar1" ;

</ script >


En este caso, el código una vez renderizado en el navegador mostraría el valor foobar1 después de bienvenido, sin embargo, este escenario es ligeramente diferente al anterior porque el payload que podríamos usar ya no requeriría que usemos la etiqueta <script>, dado que el valor de la variable name, se muestra en el contexto de un tag <script>.


La URL con un payload de ejemplo sería algo como la siguiente:


https://vulnerabledomain.com/welcome?name=foobar1";alert(1);//


En este escenario se conseguiría el mismo efecto de mostrar una alerta en el browser de la víctima pero sin necesidad de usar en el payload el tag <script>. Desde un punto de vista ofensivo, es una ventajas que un XSS  no requiera de caracteres especiales usados en los tags HTML.




CVE-2025-58765: Impacto de la vulnerabilidad

El XSS reportado en el CVE-2025-58765, afecta varias aplicaciones de forma indirecta, esto es debido a  que hay WebApps open source y páginas web de instituciones, que usan wabac.js para generar versiones archivadas de ciertos recursos web. A continuación se detalla como era la explotación del XSS.


  1. Una aplicación web, integra la librería wabac.js para generar versiones archivadas de distintos sitios web.

  2. Un atacante construye una URL maliciosa que contiene un payload en la variable RequestURL, el cual es diseñado para ejecutar JavaScript en el navegador de una víctima.

  3. El link malicioso, es abierto en el navegador de la víctima y se ejecuta el JavaScript reflejado.

  4. El atacante puede robar cookies (si no están protegidas con HttpOnly/sameSite), realizar acciones CSRF encubiertas o cargar recursos externos de control del atacante.

Nota: no incluimos PoC ni payloads explotables en este post público — para evitar facilitar el abuso y seguir buenas prácticas de divulgación responsable páginas web. Entre las vulnerables expuestas en internet. es parte de la categoría antes mencionada, es reflejado en javascript. era tuvo tres puntos interesantes para mencionar en este write-up.



This is paragraph text. Click it or hit the Manage Text button to change the font, color, size, format, and more. To set up site-wide paragraph and title styles, go to Site Theme.


CVE-2025-58765: XSS en error 404

Dado que es una vulnerabilidad que afecta un número interesante de sitios,

Bypass CSP script-src 'nonce-{nonce}'


Tener una buena implementación de CSP, puede llegar a ser mucho más eficiente que implementar un WAF si se trata de mitigar riesgos. de la seguridad web, el nonce ayuda a prevenir ataques de inyección de scripts (como XSS), asegurando que solo se ejecuten los scripts que incluyan el token válido emitido por el servidor.


En el contexto de una CSP (Content Security Policy), el término “nonce” se refiere a un valor único generado aleatoriamente que se usa para autorizar la ejecución de scripts seguros en una página web. Este valor se agrega al encabezado HTTP y a las etiquetas  <script>   para indicar qué código es de confianza.


Al usar un nonce —especialmente en el contexto de una CSP (Content Security Policy)— hay dos reglas clave:

  1. Usarlo solo una vez por solicitud.
  2. Debe ser imposible de predecir, generado de forma totalmente aleatoria.

En resumen, un CSP nonce es un token aleatorio que se usa una sola vez para validar una petición.

por Camilo Galdos 20 de febrero de 2026
 Introspecto r es un framework ofensivo diseñado para analizar y explotar comportamientos HTTP avanzados que ocurren “fuera” de la respuesta inmediata desde el servidor web (OOB - out of band). Más allá de un simple request/response, el objetivo es reconstruir la ruta de ejecución completa de un payload incluyendo patrones de redirección, resoluciones DNS, ejecución de solicitudes encadenadas y seguimiento de recursos servidos por el backend. En escenarios reales, muchas vulnerabilidades críticas no se manifiestan en el HTML de salida (response), sino en la infraestructura intermedia y el comportamiento del backend: balanceadores, reverse proxies, WAFs, CDN, resolvers DNS, caches, microservicios internos y clientes HTTP automatizados . Introspector está diseñado para capturar ese “lado invisible” del flujo, registrando redirecciones, reintentos, resoluciones DNS, follow-ups automáticos, y solicitudes encadenadas que pueden ocurrir segundos después y en hosts completamente distintos. Fue creada por el equipo de research de DeepSecurity específicamente para ir más allá de Burp Collaborator , permitiendo observar no solo si existe interacción OOB, sino cómo ocurre , qué componente la dispara, qué endpoint exacto la origina y qué cadena de ejecución se activa después (DNS, redirects, retries, fetches secundarios, etc.). En la práctica, Introspector ha sido utilizado tanto en proyectos con clientes como en iniciativas de research y bug bounty , sirviendo como base para hallazgos reales y reportes públicos, incluyendo Blind SSRF en Microsoft Ads , Host Header Injection + DoS en Microsoft , y vulnerabilidades CVE 2025 - 2026 reportadas responsablemente a plataformas como GlassFish y Payara . ¿Por qué usar Introspector en un pentest avanzado? Este tipo de visibilidad es clave para explotar y validar vulnerabilidades modernas como: SSRF (incluyendo SSRF ciego y SSRF con pivot a redes internas) Host Header Injection (en especial cuando la app construye URLs absolutas para resets de password, links de verificación, callbacks, etc.) Comportamientos anómalos en balanceadores / proxies (reescritura de Host, X-Forwarded-Host, X-Forwarded-Proto, Forwarded) HTTP Request Smuggling (cuando el front-end y back-end interpretan distinto Content-Length / Transfer-Encoding) Vulnerabilidades HTTP basadas en headers (cache poisoning, routing inconsistencies, internal URL generation, open redirect indirecto)
por Camilo Galdos 30 de agosto de 2025
¿Qué es Host Header Injection?
por Camilo Galdos 24 de julio de 2025
Server-Side Request Forgery para Pentesters
Un fondo azul con dos manos y las palabras
4 de septiembre de 2023
¿Por qué se siguen reportando incidentes en los Smart Contracts? Hay varias razones por las que los smart contracts siguen siendo un objetivo para un actor de amenaza, aca les mencionamos las principales.
Una langosta verde en una rama, y el mensaje de pruebas de penetración vs bug bounty
8 de agosto de 2023
Los programas de bug bounty (recompensas por errores) y penetration testing (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.
Un mapa azul de América del Sur tiene un fondo azul oscuro.
por DeepSecurity 24 de junio de 2020
SMBGhost (CVE-2020-0796) es una vulnerabilidad de ejecución remota de código, no autenticada, en Microsoft Server Message Block 3.1.1 (SMBv3). La vulnerabilidad sólo requiere que el puerto 445 esté abierto, y un atacante podría conectarse y ejecutar comandos sin necesidad de tener usuario o contraseña.
Un virus azul sobre fondo negro con las palabras reporte de ciberinteligencia
por DeepSecurity 1 de junio de 2020
Durante nuestras investigaciones de ciberinteligencia encontramos un grupo en Telegram donde se mencionan distintos temas desde hacking de aplicaciones web hasta robo de tarjetas (carding). Encontramos que algunos de los 550 ciberdelincuentes miembros de este grupo publicaban información sobre un fallo en la web del bono universal que permitía apropiarse del bono de los beneficiarios.
Una estatua de un oso está comiendo una hoja sobre un fondo negro.
por DeepSecurity 21 de mayo de 2020
El último año ha sido clave para la expansión digital de los bancos peruanos. Se han lanzado al mercado todo tipo de utilidades y aplicaciones que ayudan a las personas a gestionar su dinero de una manera más fácil. En DeepSecurity, nos preocupamos por la ciberseguridad del sistema financiero local y por eso hemos llevado a cabo un análisis pasivo (no-intrusivo) de las aplicaciones móviles de 12 bancos del Perú.
Una mano sostiene una pieza de ajedrez sobre un fondo azul.
por DeepSecurity 14 de abril de 2020
BlueKeep (CVE-2019-0708) es una vulnerabilidad de ejecución remota de código, no autenticada, en Remote Desktop Services (Servicio de RDP). La vulnerabilidad solo requiere que el puerto de RDP esté abierto y un atacante podría conectarse sin necesidad de tener usuario o contraseña.
Un diagrama de un líder de grupo con servicios técnicos y servicios monetarios.
por DeepSecurity 12 de abril de 2020
La empresa rumana de Ciberseguridad @Bitdefender público un nuevo caso de estudio “An APT Blueprint: Gaining New Visibility into Financial Threats“ en donde plasma la línea de tiempo y el modus operandi de la banda APT (Advanced Persistent Threat) Carbanak