Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2022-24999 — "qs" vulnerabilidade de envenenamento de protótipo ( CVE-2022-24999 ) | Kitploit
Ferramentas/GitHubGitHub/9pings/cve-2022-24999
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança Web
GitHub9pings/cve-2022-24999

CVE-2022-24999

"qs" vulnerabilidade de envenenamento de protótipo ( CVE-2022-24999 )

Ver Repositório
83há 1 anoAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2022-24999

Este repositório contém amostras de exploits da vulnerabilidade que encontramos na biblioteca JS "qs" em dezembro de 2021.

  • Esta vulnerabilidade foi corrigida no express v4.17.3 & qs v6.10.3, v6.9.7, v6.8.3, v6.7.3, v6.6.1, v6.5.3, v6.4.1, v6.3.3 e v6.2.4.

Bombas de Array & String do qs

Versões vulneráveis do "qs" permitem criar propriedades "proto" nos objetos JS de saída.

Ao definir um Array na propriedade "proto", conseguimos criar objetos "semelhantes a arrays".

Como os objetos resultantes herdam o protótipo "Array", eles expõem as funções nativas de Array.

Mas como ainda são Objetos, o "qs" permite definir a propriedade "length" neles.

Como exemplo, o seguinte payload criará esse tipo de array "maligno":

categories[_proto__]&categories[_proto__]&categories[length]=100000000

Assim, definir um valor de "length" irracional neles congelará o processo node assim que ele tentar convertê-los para valores de string ou ao chamar a maioria das funções nativas de Array.

Isso expõe qualquer aplicação Node que use uma versão vulnerável do "qs", com a configuração padrão do Express e sem um sistema de validação forte, a ataques DOS aplicativos.

Aqui estão logs de exemplo do poc em ./express-qs-string-bomb :

Send payload :  someString[_proto__]&someString[_proto__]&someString[length]=100000000
[server] Received params  { someString: Array { length: '100000000' } }
[server] Run someString + 0
[server] someString + 0 : 6.364s
[server] Run someString == "123" 
[server] someString == "123" : 6.387s
[server] just write `Got ${someString}`
[server] just write `Got ${someString}` : 6.397s

Outros comportamentos exploráveis

Nossa análise também nos permitiu ver que outros modos de exploração eram possíveis.

Descrevemos alguns deles no diretório ./qs-vulns.

Créditos

BRAUN Nathanael & BRISSAUD Johan
Para EY Security, França

Baixar ferramenta