← volver
CVE-2015-4852criticalbajo ataqueCWE-502

CVE-2015-4852

100Vexday Risk Score

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

ssvc Actcvss 9.8epss 96%
de la publicación al arma106 días
Publicada en NVD18 nov
1ª PoC+106d
metasploit28 ene
CISA KEV+2177d
probabilidad de explotación
96%top 1% de las CVE
explotación observada
CISA + VulnCheck
15 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-03

Apply updates per vendor instructions.

Resumen

Deserialização de objeto Java não confiável no componente WLS Security do Oracle WebLogic Server, explorável remotamente e sem autenticação via protocolo T3 na porta TCP 7001. A falha não está no código próprio da Oracle, mas no uso de uma cadeia de gadgets da biblioteca Apache Commons Collections empacotada dentro do WebLogic (com.bea.core.apache.commons.collections.jar), que permite converter a desserialização de um objeto arbitrário em execução de comando no sistema operacional. O CVSS 9.8 é coerente com a realidade: não há pré-condição relevante além de acesso de rede à porta 7001, e a CISA confirma exploração ativa no catálogo KEV.

Detalle técnico

A causa raiz é CWE-502 (Deserialization of Untrusted Data). O serviço WebLogic T3, usado para comunicação RMI/JVM entre servidores e clientes, aceita objetos Java serializados diretamente do socket antes de qualquer autenticação, e os passa para ObjectInputStream.readObject(). Como o classpath do WebLogic inclui a biblioteca Apache Commons Collections, um atacante pode montar um stream serializado que instancia classes dessa biblioteca — como InvokerTransformer e ChainedTransformer, encadeadas via PriorityQueue ou outra estrutura serializável — para invocar métodos arbitrários por reflexão durante o processo de desserialização, chegando a Runtime.exec().

Essa técnica de 'gadget chain' foi apresentada publicamente por Chris Frohoff e Gabriel Lawrence (@frohoff/@gebl) na AppSecCali 2015 e depois operacionalizada por breenmachine/@dronesec (FoxGlove Security), que demonstraram RCE pré-autenticação não só em WebLogic, mas também em WebSphere, JBoss, Jenkins e OpenNMS — todos consumindo a mesma biblioteca vulnerável de formas distintas.

Um ponto importante de escopo, documentado na própria thread da MITRE em oss-security: a MITRE recusou-se a emitir um CVE genérico para a Apache Commons Collections em si, entendendo que o comportamento da biblioteca (permitir reflexão arbitrária via Transformer) não é, isoladamente, uma falha de codificação, mas um design perigoso quando exposto a entrada não confiável. O CVE-2015-4852 foi solicitado e atribuído pela própria Oracle, e por decisão da MITRE seu escopo é restrito ao produto WebLogic Server — não cobre a lib Commons Collections nem outros produtos afetados pela mesma técnica, que receberam (ou não) IDs próprios separadamente.

O atacante controla integralmente o conteúdo do objeto serializado enviado ao socket; o servidor não valida o tipo de classe antes de desserializar, então qualquer classe disponível no classpath do processo Java pode ser instanciada e ter métodos invocados durante o processo.

Cómo se explota

O vetor é rede pura: conexão TCP à porta 7001 (ou outra porta onde o listener T3 esteja exposto), sem necessidade de credenciais, sessão ou interação do usuário — condição que casa com o vetor CVSS AV:N/PR:N/UI:N. O exploit publicado por FoxGlove Security (weblogic.py) abre a conexão, envia um handshake T3 mínimo (string de protocolo e cabeçalhos T3 como 'AS:255', 'HL:19', 'PU:t3://...') e, em seguida, injeta um payload binário que combina um objeto weblogic.rjvm.ClassTableEntry com um objeto serializado da cadeia Commons Collections contendo o comando a executar.

A complexidade de exploração é baixa: o handshake T3 é trivial de reproduzir e o payload de deserialização, uma vez construído, é reutilizável contra qualquer instância vulnerável — daí a existência de módulo Metasploit e de múltiplas PoCs públicas (Exploit-DB 42806, 46628, ferramentas ysoserial para gerar a cadeia CommonsCollections). Não é preciso conhecer credenciais, nem que a aplicação WebLogic exponha qualquer funcionalidade customizada: a superfície vulnerável é o próprio listener administrativo T3, presente por padrão em instalações WebLogic.

O resultado final é execução de comando arbitrário com os privilégios do processo WebLogic (frequentemente root/Administrator em instalações mal configuradas). A CISA lista a CVE no catálogo KEV com confirmação de exploração ativa; dado o tempo decorrido desde a divulgação (2015) e a trivialidade do vetor, a falha continua sendo usada em campanhas de varredura oportunista contra instâncias WebLogic expostas à internet.

Versiones

Afectadas
Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0 e 12.2.1.0 (conforme descrição oficial da Oracle/NVD).
Corregidas en
Corrigida via Security Alert da Oracle publicado fora do ciclo de CPU em novembro de 2015 (blogs.oracle.com/security/entry/security_alert_cve_2015_4852), cobrindo as mesmas quatro linhas de versão listadas acima. Os identificadores exatos de patch/overlay não constam nas fontes consultadas; confirmar o patch específico no Security Alert oficial antes de aplicar.

Cómo protegerse

A Oracle publicou um Security Alert fora do ciclo trimestral de CPU especificamente para esta CVE (blogs.oracle.com/security/entry/security_alert_cve_2015_4852), com patch para as versões afetadas 10.3.6.0, 12.1.2.0, 12.1.3.0 e 12.2.1.0. O caminho correto é aplicar o patch/overlay indicado nesse Security Alert para a versão instalada; não há aqui um número de patch específico verificado nas fontes consultadas, então confirme o patch ID exato junto ao Security Alert oficial da Oracle antes de aplicar.

Como esta falha é sobre uma biblioteca (Commons Collections) empacotada dentro do produto, e a Apache Software Foundation não tratou o comportamento da lib como vulnerabilidade isolada (ver discussão MITRE/oss-security), atualizar apenas o jar da Commons Collections sem o patch da Oracle não é garantia de correção — o vetor de exploração passa pelo protocolo T3 do WebLogic, não pela lib isolada. Onde patch imediato não for viável, o controle compensatório real é restringir o acesso de rede à porta do listener T3 (tipicamente 7001) a hosts administrativos confiáveis, via firewall ou segmentação, e desabilitar o protocolo T3 em interfaces expostas à internet quando ele não for necessário para clientes externos.

Não funciona como mitigação: expor a porta 7001 atrás de um proxy HTTP reverso simples sem inspecionar o protocolo T3, ou confiar em autenticação de aplicação — o listener T3/RMI aceita o objeto serializado antes de qualquer checagem de credencial da aplicação.

Cómo detectar

Em nível de rede, o indício mais confiável é tráfego na porta TCP 7001 (ou outra porta com listener T3) iniciado com o handshake de protocolo T3 (string 't3 12.x.x' seguida de cabeçalhos como 'AS:', 'HL:', 'MS:', 'PU:') imediatamente seguido de um stream com a assinatura de objeto Java serializado (bytes 0xAC 0xED 0x00 0x05) contendo referências textuais a classes da cadeia de exploração, como 'org.apache.commons.collections.functors.InvokerTransformer', 'ChainedTransformer' ou 'weblogic.rjvm.ClassTableEntry'. IDS/IPS com assinatura para esses padrões, ou logging de payloads brutos no nível de socket, conseguem capturar tentativas.

Em nível de host, comandos inesperados executados pelo processo WebLogic (java) sem correlação com uma requisição HTTP de aplicação, ou processos filhos anômalos (shell, ferramentas de rede) originados do processo do servidor de aplicação, são sinal forte de exploração bem-sucedida. Não há um log de aplicação padrão do WebLogic que registre a tentativa de forma amigável — a exploração ocorre no nível de protocolo RMI/T3 antes de qualquer log de camada de aplicação, o que torna a detecção baseada em log de aplicação pouco confiável isoladamente.

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.
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers to execute arbitrary commands via a crafted serialized Java object in T3 protocol traffic to TCP port 7001, related to oracle_common/modules/com.bea.core.apache.commons.collections.jar. NOTE: the scope of this CVE is limited to the WebLogic Server product.
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.