
CVE 2021-21315 PoC
Esto es una prueba de concepto para CVE-2021-21315 que afecta a The System Information Library para Node.JS (paquete npm "systeminformation"). npmjs.com/systeminformation
"asegúrese de comprobar o sanear los parámetros de servicio que se pasan a si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... solo permita cadenas, rechace cualquier array. El saneamiento de cadenas funciona como se espera."
Debido a que es una vulnerabilidad no bien explicada (en mi opinión), decidí codificar una pequeña aplicación basándome en la versión vulnerable de systeminformation. El PoC contiene:
Pasos para reproducir:


Esto fallará, debido al saneamiento de cadenas:

Como se dice en los detalles del CVE: "el saneamiento funciona como se espera, rechace cualquier array [...]"
Esta vez, si observa el valor de "name", no fue saneado: ¡éxito! Veamos si el comando se ejecutó
¡Éxito! Nuestro comando se ejecutó. Por supuesto, a nadie le importa "pwn.txt", pero un atacante potencial puede:
"Inyección de comandos" suena inocente, pero puede tener un gran impacto si se cumplen ciertas condiciones
El problema se solucionó en la versión 5.3.1 de "systeminformation" Créditos a https://www.huntr.dev/users/EffectRenan (Él encontró la vulnerabilidad; sin embargo, en mi opinión, su "PoC" no mostró el impacto en el mundo real)
Además, no duden en usar este PoC en algunos CTF, pero sería genial que acrediten al autor del hallazgo - EffectRean y al creador del PoC - yo, ¡saludos!
Este proyecto solo puede utilizarse con fines educativos. Usar este software contra sistemas objetivo sin permiso previo es ilegal, y cualquier daño derivado del mal uso de este software no será responsabilidad del autor.