← volver
CVE-2012-5076criticalbajo ataqueCWE-284

CVE-2012-5076

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 9.8epss 91%
de la publicación al arma28 días
Publicada en NVD16 oct
1ª PoC+28d
metasploit16 oct
CISA KEV+3450d
probabilidad de explotación
91%top 1% de las CVE
explotación observada
CISA + VulnCheck
2 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-04-18

Apply updates per vendor instructions.

Resumen

Falha na Java Runtime Environment (JRE) da Oracle relacionada ao componente JAX-WS: a configuração padrão de propriedades de segurança do Java não restringia o acesso a pacotes internos com.sun.org.glassfish.*, permitindo que uma aplicação ou applet Java não confiável escape do sandbox. Importa porque, em 2012, applets Java em navegador eram vetor comum de infecção via drive-by download — um bypass de sandbox aqui equivale a execução de código com privilégios totais fora da caixa de restrições do Java, sem exigir autenticação nem interação sofisticada do usuário além de carregar o applet malicioso.

Detalle técnico

A causa raiz, confirmada pelos advisories de OpenJDK (bug interno JAX-WS, rastreado como BZ 865352 na Red Hat), é a ausência de restrição de acesso a determinados pacotes internos do Metro/JAX-WS (com.sun.org.glassfish.*) na lista de pacotes restritos da JVM. O modelo de sandbox do Java depende de uma lista de pacotes 'package.access' e 'package.definition' que o SecurityManager usa para impedir que código não confiável instancie ou chame classes privilegiadas do runtime. Como esses pacotes glassfish não estavam nessa lista, uma aplicação Java untrusted conseguia alcançá-los e, a partir daí, escalar para operações fora do sandbox — o CWE mais próximo é CWE-284 (Improper Access Control) combinado com um bypass de sandbox (CWE-693, Protection Mechanism Failure).

Cómo se explota

O vetor é client-side: a vítima precisa executar código Java não confiável, tipicamente um applet embutido em uma página web (via plugin Java no navegador) ou uma aplicação Java Web Start, sem qualquer autenticação exigida. O atacante controla o próprio applet/JAR malicioso, que explora a ausência de restrição nos pacotes glassfish para escapar do SecurityManager e obter as mesmas permissões que código local confiável — o que na prática significa execução arbitrária de código no contexto do usuário que roda a JVM, com leitura/escrita de arquivos e acesso à rede. A CVE está no catálogo KEV da CISA (exploração confirmada em campo) e possui módulo Metasploit e PoC pública, o que reduz bastante a complexidade prática: o exploit era empacotável em kits de exploração de navegador da época, dispensando qualquer engenharia social além de convencer a vítima a visitar uma página com o plugin Java habilitado.

Versiones

Afectadas
Oracle Java SE 7 Update 7 e anteriores (JRE/JDK 7); OpenJDK 7 nas versões correspondentes anteriores ao IcedTea7 2.3.3; IBM Java SE 7 anterior ao SR3.
Corregidas en
Oracle Java SE 7 Update 9 (Critical Patch Update de outubro de 2012); OpenJDK 7 / IcedTea7 2.3.3 (RHSA-2012:1386); java-1.7.0-oracle atualizado para Java 7 Update 9 (RHSA-2012:1391); IBM Java SE 7 SR3 (RHSA-2012:1467).

Cómo protegerse

A correção oficial veio no Oracle Java SE 7 Update 9 (Critical Patch Update de outubro de 2012) e nos backports de OpenJDK 7 (IcedTea7 2.3.3) distribuídos por Red Hat (RHSA-2012:1386 para java-1.7.0-openjdk, RHSA-2012:1391 para java-1.7.0-oracle) e IBM (RHSA-2012:1467, IBM Java SE 7 SR3). Atualizar para essas versões corrige o problema ao adicionar os pacotes com.sun.org.glassfish.* à lista de pacotes restritos por padrão. Onde não for possível atualizar imediatamente, o controle compensatório mais eficaz é desabilitar ou remover o plugin Java do navegador e restringir a execução de Java Web Start via política — não existe flag de configuração pontual documentada pelo fornecedor que mitigue essa falha sem atualizar o JRE, já que o problema está na lista de restrição padrão do runtime. Manter apenas um antivírus ou WAF não mitiga: o ataque ocorre no lado do cliente, dentro da JVM local, fora do alcance de controles de borda de rede.

Cómo detectar

Não há assinatura de rede confiável, pois a exploração ocorre dentro do processo da JVM local, não em tráfego de rede distintivo. Em endpoints, sinais indiretos incluem o carregamento de classes JAR/applet incomuns via javaw.exe/java.exe a partir de diretórios temporários do navegador, logs do Java Deployment/Plugin registrando exceções de SecurityManager relacionadas a pacotes com.sun.org.glassfish, e presença de módulos de exploit kit conhecidos da época (2012-2013) em cache de navegador. Como a falha é antiga e o módulo Metasploit é público, qualquer scanner de vulnerabilidades que identifique a versão exata do JRE/JDK instalado (7u7 ou anterior) é o indicador mais confiável de exposição — não há como distinguir tentativa de exploração de uso legítimo apenas pelo tráfego HTTP.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allows remote attackers to affect confidentiality, integrity, and availability, related to JAX-WS.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.