
Laboratório de exploração, docker e scanner de código para a vulnerabilidade mongobleed CVE-2025-14847, além de ferramentas de sincronização do Phoenix Security
CVE-2025-14847 | CVSS 8.7 (Alto) | Divulgação de Memória Não Autenticada
📖 Documentação Completa • 🔬 Análise Técnica • ⚡ Comandos Rápidos
MongoBleed é uma vulnerabilidade crítica de divulgação de memória na camada de transporte de rede do MongoDB que permite que atacantes remotos não autenticados exfiltrem memória heap sensível sem qualquer credencial ou interação do usuário.
| Categoria | Descrição |
|---|---|
| Tipo de Ataque | Divulgação remota de memória não autenticada |
| Causa Raiz | A descompressão Zlib retorna o tamanho do buffer alocado em vez do comprimento real dos dados |
| Dados Expostos | Senhas de banco de dados, chaves de API, tokens de sessão, credenciais AWS, estado interno do servidor |
| Gravidade | CVSS 8.7 (Alto) - Acessível pela rede, sem necessidade de autenticação |
| Exploração | Exploração ativa observada em campo desde 28 de dezembro de 2025 |
| Ramo | Vulnerável | Corrigida | Ação |
|---|---|---|---|
| 8.2.x | 8.2.0 → 8.2.2 | 8.2.3 | Atualize imediatamente |
| 8.0.x | 8.0.0 → 8.0.16 | 8.0.17 | Atualize imediatamente |
| 7.0.x | 7.0.0 → 7.0.27 | 7.0.28 | Atualize imediatamente |
| 6.0.x | 6.0.0 → 6.0.26 | 6.0.27 | Atualize imediatamente |
| 5.0.x | 5.0.0 → 5.0.31 | 5.0.32 | Atualize imediatamente |
| 4.4.x | 4.4.0 → 4.4.29 | 4.4.30 | Atualize imediatamente |
| ≤4.2.x | Todas as versões | Nenhuma | ⚠️ Fim de vida - Migre para versão suportada |
| Aspecto | Detalhes |
|---|---|
| O que é vulnerável | Camada de transporte de rede do MongoDB usando compressão zlib |
| Gravidade | Alto (CVSS 8.7/7.5) |
| Impacto | Divulgação remota e não autenticada de memória heap não inicializada |
| Por que é importante | Fragmentos vazados contêm senhas de banco de dados, chaves secretas AWS e estados internos do servidor |
| Status do exploit | Prova de Conceito (PoC) pública "mongobleed" está validada e circulando |
| O que fazer hoje | Atualize para versões corrigidas imediatamente ou desative a compressão zlib |
A vulnerabilidade existe na camada de transporte de rede do MongoDB (message_compressor_zlib.cpp) onde uma falha crítica na lógica de descompressão zlib permite que atacantes não autenticados vazem memória sensível do servidor.
// VULNERABLE CODE (before fix)
counterHitDecompress(input.length(), output.length());
return {output.length()}; // ❌ Returns ALLOCATED buffer size
// PATCHED CODE (after fix)
counterHitDecompress(input.length(), output.length());
return length; // ✅ Returns ACTUAL decompressed data length
┌─────────────────────────────────────────────────────────────────────────────┐
│ MongoBleed Attack Vector │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ATTACKER VULNERABLE MongoDB │
│ │ │ │
│ │ 1. Send OP_COMPRESSED message │ │
│ │ uncompressedSize: 8192 (LIE) │ │
│ │ actual data: ~100 bytes │ │
│ │────────────────────────────────────> │
│ │ │ │
│ │ 2. Allocate 8192-byte buffer │
│ │ 3. Decompress ~100 bytes │
│ │ 4. BUG: Return buffer.length() = 8192 │
│ │ 5. BSON parser reads uninitialized memory │
│ │ │ │
│ │ 6. Error response with leaked │ │
│ │ memory as "field names" │ │
│ │<──────────────────────────────────── │
│ │ │ │
│ 🔓 LEAKED DATA: │ │
│ - API keys, passwords, tokens │
│ - MongoDB internal state │
│ - WiredTiger storage configs │
│ - System /proc information │
│ - Client connection data │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
| Data | Evento |
|---|---|
| 15 dez 2025 | Vulnerabilidade identificada; ticket interno SERVER-115508 |
| 19 dez 2025 | Correção lançada, CVE-2025-14847 divulgado |
| 24 dez 2025 | Frota MongoDB Atlas corrigida |
| 26 dez 2025 | PoC pública "mongobleed" lançada |
| 28 dez 2025 | Exploração observada em campo |
🔬 Veja a Análise Técnica → para anatomia detalhada da vulnerabilidade, construção de exploit e métodos de detecção.