# CVE-2018-14634 - Mutagen Astronomy: Integer Overflow no Kernel Linux > [!high] CVSS 7.8 - CISA KEV - Escalação de Privilégios para Root > Vulnerabilidade de integer overflow no kernel Linux conhecida como "Mutagen Astronomy" que permite a qualquer usuário local sem privilégios obter acesso root ao sistema, afetando distribuições Linux baseadas nos kernels 2.6.x a 4.18.x amplamente utilizados em servidores corporativos. ## Visão Geral CVE-2018-14634, apelidada de **"Mutagen Astronomy"** pela Qualys (que a descobriu), é uma vulnerabilidade crítica de escalação de privilégios local no kernel Linux. A falha está na função `create_elf_tables()`, responsável por preparar o ambiente de execução de binários ELF - o formato executável padrão em sistemas Linux. Um overflow de inteiro nesta função pode ser explorado para criar um grande argumento de linha de comando que ultrapassa os limites do stack, permitindo que um atacante local sem qualquer privilégio eleve seu acesso para root. O nome "Mutagen Astronomy" reflete a gravidade da falha: assim como uma mutação astronômica, o impacto de um processo comum que se transforma em root pode devastar completamente a postura de segurança de um servidor. A vulnerabilidade está presente em versões do kernel Linux desde 2.6.x (lançado em 2003) e afeta qualquer distribuição que use kernels de 64 bits maiores que 3.10.0 sem o patch aplicado. Isso inclui versões antigas, mas ainda amplamente utilizadas, do Red Hat Enterprise Linux 6 e 7 e CentOS. A inclusão no CISA KEV em setembro de 2022 - quatro anos após o patch original - demonstra que esta vulnerabilidade continua sendo explorada ativamente contra sistemas sem atualização. Para organizações com servidores Linux legados, especialmente aquelas que executam cargas de trabalho críticas sem contratos de suporte atualizados, o risco permanece real. ## Detalhes Técnicos A vulnerabilidade reside em `fs/binfmt_elf.c`, específicamente na função `create_elf_tables()`. Em sistemas de 64 bits com kernel Linux maior que 3.10.0, ao processar argumentos de linha de comando para um novo processo, o cálculo do tamanho total dos argumentos sofre um integer overflow quando o tamanho total excede `ULONG_MAX` (o valor máximo de um inteiro não-sinalizado de 64 bits). Esse overflow faz com que o cálculo produza um valor truncado que é usado para alocar memória no stack - resultando numa alocação insuficiente que permite escrever dados além do limite do stack (stack overflow controlado). Um atacante local pode explorar isso criando um processo com argumentos excessivamente longos, induzindo o overflow e corrompendo estruturas de dados privilegiadas no stack do kernel, eventualmente obtendo execução de código com privilégios de root. ## Produtos Afetados | Vendor | Produto | Versão Afetada | Versão com Fix | |--------|---------|----------------|----------------| | Linux | Kernel Linux (64-bit) | 2.6.x a 4.18.x (antes 4.18.7) | 4.18.7 e posterior | | Red Hat | RHEL 6 | Kernel 2.6.32 afetado | Patch RHSA-2018:2748 | | Red Hat | RHEL 7 | Kernel 3.10.0 afetado | Patch RHSA-2018:2748 | | CentOS | CentOS 6 | Kernel 2.6.32 afetado | Via repositório CentOS Updates | | CentOS | CentOS 7 | Kernel 3.10.0 afetado | Via repositório CentOS Updates | | Debian | Debian 9 Stretch | Kernels afetados | Patch disponível via apt | ## Como Funciona ```mermaid graph TB A["👤 Usuário local<br/>sem privilégios"] --> B["Executa binário ELF<br/>com args extensos"] B --> C["create_elf_tables()<br/>fs/binfmt_elf.c"] C --> D["Integer Overflow<br/>cálculo de tamanho"] D --> E["Stack insuficiente<br/>alocado no kernel"] E --> F["Escrita além do limite<br/>stack overflow controlado"] F --> G["Corrupção de estruturas<br/>privilegiadas no kernel"] G --> H["💀 Execução como root<br/>sistema comprometido"] ``` O fluxo de exploração inicia com um processo normal criado por um usuário sem privilégios. O atacante passa argumentos especialmente construídos que desencadeiam o integer overflow na função `create_elf_tables()`. O stack resultante é menor do que o necessário, permitindo escrever além do limite e corromper dados críticos do kernel. ## TTPs Relacionadas - [[t1068-exploitation-for-privilege-escalation|T1068 - Exploitation for Privilege Escalation]] - técnica central explorada - [[t1543-create-or-modify-system-process|T1543 - Create or Modify System Process]] - possível pós-exploração - [[t1059-004-unix-shell|T1059.004 - Unix Shell]] - execução pós-escalação de privilégios - [[t1003-os-credential-dumping|T1003 - OS Credential Dumping]] - extração de credenciais após root ## Contexto LATAM > [!latam] Impacto para Brasil e América Latina > O **kernel Linux** está presente em práticamente toda a infraestrutura de TI crítica da América Latina - desde servidores de banco de dados e aplicações financeiras até sistemas de governo eletrônico e infraestrutura de telecomúnicações. No Brasil, o governo federal e estadual têm adotado Linux há décadas como alternativa de custo a sistemas proprietários, criando um parque significativo de servidores potencialmente afetados por versões de kernel não atualizadas. Organizações com ciclos de atualização lentos - incluindo universidades, prefeituras e autarquias - podem ainda operar kernels vulneráveis. A exploração de CVE-2018-14634 em combinação com vulnerabilidades de acesso remoto permite a comprometimento total de servidores Linux críticos. ## Mitigação 1. Atualizar o kernel Linux para a versão 4.18.7 ou posterior via gerenciador de pacotes da distribuição 2. **Red Hat/CentOS:** aplicar `yum update kernel` ou instalar o patch específico RHSA-2018:2748 3. **Debian/Ubuntu:** aplicar `apt-get update && apt-get upgrade linux-image-amd64` 4. Como mitigação temporária: implementar regras SELinux ou AppArmor para restringir o tamanho de argumentos de processos suspeitos 5. Monitorar criação de processos com arguments de tamanho incomum via auditd 6. Verificar se o sistema executa kernel de 64 bits com `uname -m` (x86_64 = afetado se versão vulnerável) ## Indicadores de Comprometimento > [!ioc]- IOCs - CVE-2018-14634 Mutagen Astronomy (TLP:CLEAR) > **Artefatos no host:** > - Binários setuid-root criados em diretórios temporários (`/tmp`, `/dev/shm`) > - Execuções de processos com argumentos de comprimento anormalmente longo (> 128KB) > - Acessos root de contas de usuário que não deveriam ter esse privilégio > - Modificações em `/etc/passwd` ou `/etc/sudoers` por processos não privilegiados > > **Comportamento de sistema:** > - Uso elevado de memória kernel imediatamente antes de uma escalação de privilégio > - Crashes de processo (SIGSEGV/SIGBUS) correlacionados com processos com argumentos extensos > > **Fontes:** [Qualys Security Advisory QSA-2018-0001](https://www.qualys.com/2018/09/25/CVE-2018-14634/mutagen-astronomy.txt) · [Red Hat Advisory RHSA-2018:2748](https://access.redhat.com/errata/RHSA-2018:2748) ## Notas Relacionadas **TTPs:** [[t1068-exploitation-for-privilege-escalation|T1068]] · [[t1059-004-unix-shell|T1059.004]] · [[t1003-os-credential-dumping|T1003]] **CVEs relacionadas:** [[cve-2016-5195|CVE-2016-5195 (Dirty COW)]] · [[cve-2019-13272|CVE-2019-13272]] · [[cve-2022-0847|CVE-2022-0847 (Dirty Pipe)]] **Setores em risco:** [[government|governo]] · [[technology|tecnologia]] · [[financial|financeiro]] **Técnica:** Integer overflow em código de kernel é uma das classes mais perigosas de vulnerabilidades Linux, como demonstrado também pelo [[cve-2016-5195|CVE-2016-5195 Dirty COW]]. ## Referências - [Qualys Advisory - Mutagen Astronomy (QSA-2018-0001)](https://www.qualys.com/2018/09/25/CVE-2018-14634/mutagen-astronomy.txt) - [Red Hat RHSA-2018:2748](https://access.redhat.com/errata/RHSA-2018:2748) - [NVD - CVE-2018-14634](https://nvd.nist.gov/vuln/detail/CVE-2018-14634) - [CISA KEV - Catálogo de Vulnerabilidades Exploradas](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) - [Kernel commit de correção](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=da029c11e6b12f321f36dac8771e1b60ed4db76a)