
CVE 2021-21315 PoC
Este é um Prova de Conceito para CVE-2021-21315 que afeta a System Information Library para Node.JS (pacote npm "systeminformation"). npmjs.com/systeminformation
"certifique-se de verificar ou sanitizar parâmetros de serviço que são passados para si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... permita apenas strings, rejeite quaisquer arrays. A sanitização de strings funciona conforme esperado."
Por ser uma vulnerabilidade não bem explicada (na minha opinião), decidi codificar um pequeno aplicativo baseado na versão vulnerável do systeminformation. O PoC contém:
Passos para reproduzir:


Isso falhará, devido à sanitização de strings:

Como dito nos detalhes da CVE "a sanitização funciona conforme esperado, rejeite quaisquer arrays [...]"
Desta vez, se você observar o valor de "name", ele não foi sanitizado - sucesso! Vamos ver se o comando foi executado
Sucesso! Nosso comando foi executado. Claro que ninguém se importa com "pwn.txt", mas um atacante potencial pode:
"Injeção de comando" soa inocente, mas pode ter um enorme impacto se certas condições forem atendidas
O problema foi corrigido na versão 5.3.1 do "systeminformation" Créditos para https://www.huntr.dev/users/EffectRenan (Ele encontrou a vulnerabilidade, porém na minha opinião, seu "Poc" não mostrou o impacto no mundo real)
Além disso, não hesite em usar este PoC em alguns CTFs, mas seria legal se você desse crédito ao autor da descoberta - EffectRean e ao criador do PoC - eu, valeu!
Este projeto pode ser usado apenas para fins educacionais. Usar este software contra sistemas alvo sem permissão prévia é ilegal, e quaisquer danos decorrentes do uso indevido deste software não serão de responsabilidade do autor.