← back
CVE-2017-10271highunder attackransomwareCWE-306

CVE-2017-10271

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA, has a working public exploit and 1 threat group(s) use it.

ssvc Actcvss 7.5epss 100%
from disclosure to weapon65 days
Published on NVDOct 19
1st PoC+65d
metasploitOct 19
CISA KEV+1575d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
1 group(s)59 public exploit(s)
Who exploits it1

Groups known to exploit this vulnerability (MITRE ATT&CK attribution).

Action required by CISAfederal deadline: 2022-08-10

Apply updates per vendor instructions.

Summary

Falha de deserialização insegura no componente WLS Security do Oracle WebLogic Server, explorável sem autenticação via requisições HTTP SOAP ao endpoint web service wls-wsat. Permite execução remota de comando com os privilégios do processo WebLogic, o que na prática equivale a comprometimento total do servidor. Está na KEV da CISA, tem exploração massiva documentada desde 2017-2018 (incluindo campanhas de ransomware e mineração de criptomoeda) e CVSS 7.5 — mas o vetor real de exploração amplamente demonstrado é HTTP, não T3 como consta no vetor CVSS oficial da Oracle.

Technical detail

A causa raiz é CWE-502 (Deserialization of Untrusted Data). O componente wls-wsat (WebLogic Web Services Atomic Transactions) expõe endpoints SOAP como /wls-wsat/CoordinatorPortType, /wls-wsat/RegistrationPortTypeRPC, /wls-wsat/ParticipantPortType e variantes '11'. Esses endpoints aceitam um cabeçalho SOAP WorkContext que é processado internamente com java.beans.XMLDecoder — uma classe Java que desserializa XML arbitrário em chamadas de método Java reais, sem qualquer validação de tipo ou whitelist.

Como o atacante controla o corpo XML enviado no header WorkContext, ele pode instanciar classes arbitrárias e invocar métodos, incluindo java.lang.ProcessBuilder com um array de String representando um comando de shell, seguido de .start(). O resultado é execução de comando no sistema operacional subjacente, no contexto do usuário que roda o processo WebLogic (frequentemente com privilégios elevados em instalações padrão).

A descoberta é atribuída a Alexey Tyurin (ERPScan) e Federico Dotta, conforme referenciado no módulo Metasploit. A falha reaparece na família de CVEs relacionadas ao wls-wsat/Async (CVE-2017-3506, CVE-2019-2725, CVE-2019-2729), todas girando em torno do mesmo padrão: desserialização XML não sanitizada em endpoints de web services do WebLogic.

Há uma divergência relevante entre a descrição oficial da Oracle — que classifica o vetor como 'via T3' — e o que pesquisadores e ferramentas de exploração (incluindo o módulo Metasploit e os PoCs públicos) demonstraram: a exploração documentada e replicada em massa usa requisições HTTP POST comuns ao endpoint wls-wsat, não o protocolo T3 binário usado em outras CVEs do WebLogic (como a família de RCE via T3/IIOP de 2018-2020).

How it’s exploited

O vetor prático é uma requisição HTTP POST não autenticada para /wls-wsat/CoordinatorPortType (ou outro endpoint do console wls-wsat) com Content-Type text/xml, contendo um payload SOAP com header WorkContext malicioso decodificado por XMLDecoder. Não há necessidade de autenticação, sessão prévia ou interação do usuário — só acesso de rede à porta HTTP/HTTPS do console de administração ou do endpoint de serviços web (tipicamente 7001/7002). É por isso que a falha é classificada como 'facilmente explorável': um único request forjado é suficiente.

Existem múltiplos PoCs públicos (incluindo o exploit Python referenciado e o módulo Metasploit 'weblogic_wsat_deserialization_rce'), scanners automatizados para varredura em massa, e templates Nuclei. A exploração real observada desde o fim de 2017 inclui deploy de mineradores de criptomoeda, webshells e, segundo o catálogo KEV da CISA, uso em campanhas de ransomware — a exploração em massa começou dias após a publicação, e continua ocorrendo contra instâncias não corrigidas expostas à internet.

O único pré-requisito real é que o endpoint /wls-wsat esteja acessível pela rede (o que é o caso em praticamente qualquer instalação padrão do WebLogic com o componente Web Services habilitado) e que a versão não tenha o patch da CPU de outubro de 2017 aplicado. Não há necessidade de conhecimento de credenciais, tokens de sessão ou configuração incomum — isso explica por que a exploração em massa foi tão rápida e persistente.

Versions

Affected
Oracle WebLogic Server 10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0 e 12.2.1.2.0 (versões suportadas listadas no advisory oficial da Oracle).
Fixed in
Corrigido pelo Critical Patch Update da Oracle de outubro de 2017 (CPUOct2017), aplicado sobre os mesmos branches afetados (10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0, 12.2.1.2.0). A Oracle não publicou números de versão pós-patch distintos — a correção é distribuída como patch da CPU, não como novo release; CPUs posteriores a outubro/2017 incluem essa correção cumulativamente.

How to protect

A correção definitiva é aplicar o Critical Patch Update de outubro de 2017 (CPUOct2017) da Oracle para o branch correspondente do WebLogic Server (10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0 ou 12.2.1.2.0), disponível através do suporte Oracle. O advisory oficial não numera uma 'versão corrigida' separada — o modelo de patch da Oracle aplica um patch sobre a versão existente, então a validação de correção deve ser feita verificando se o patch da CPU de outubro/2017 (ou qualquer CPU posterior, que o inclui cumulativamente) foi instalado, não comparando números de versão.

Se o patch não puder ser aplicado imediatamente, o paliativo documentado e amplamente recomendado por analistas é remover ou desabilitar os endpoints wls-wsat (e o pacote de guerra correspondente, geralmente wls-wsat.war) do deployment, já que Web Services Atomic Transactions raramente é necessário em produção. Isso elimina o vetor de ataque sem exigir patch, mas quebra funcionalidade caso a aplicação dependa de transações atômicas de web services — validar antes de remover. Restringir acesso de rede ao console de administração e aos endpoints de web services via firewall/segmentação reduz a superfície, mas não elimina o risco caso o endpoint precise ficar acessível para clientes legítimos.

Não funciona como mitigação: apenas trocar credenciais de administração ou habilitar autenticação no console — a falha não depende de autenticação, então esse controle não fecha o vetor. Também não basta atualizar apenas o WebLogic para uma versão minor sem confirmar a aplicação da CPU específica, pois o versionamento da Oracle não reflete automaticamente todos os patches de segurança aplicados.

How to detect

Em logs de acesso HTTP do WebLogic, procurar requisições POST para caminhos contendo /wls-wsat/ (CoordinatorPortType, RegistrationPortTypeRPC, ParticipantPortType, RegistrationRequesterPortType e as variantes '11') com Content-Type text/xml ou application/soap+xml, especialmente vindas de IPs não esperados ou em volume de varredura. No corpo da requisição (se houver captura de payload em WAF/IDS), a presença das strings java.beans.XMLDecoder, java.lang.ProcessBuilder, java.net.URL ou javax.naming dentro de um header WorkContext SOAP é indicador direto de tentativa de exploração — payloads legítimos de transação atômica não contêm essas classes.

No host, processos filhos inesperados gerados pelo processo WebLogic (cmd.exe, powershell.exe, /bin/sh) sem relação com a aplicação de negócio são um sinal forte de exploração bem-sucedida. Como a falha é conhecida e escaneada em massa desde 2017/2018, a ausência de sinal não implica ausência de tentativa — ambientes expostos à internet sem esses logs habilitados historicamente não têm visibilidade retroativa.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Vulnerability in the Oracle WebLogic Server component of Oracle Fusion Middleware (subcomponent: WLS Security). Supported versions that are affected are 10.3.6.0.0, 12.1.3.0.0, 12.2.1.1.0 and 12.2.1.2.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via T3 to compromise Oracle WebLogic Server. Successful attacks of this vulnerability can result in takeover of Oracle WebLogic Server. CVSS 3.0 Base Score 7.5 (Availability impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
public PoCs found59 VexDay Proof
exploitdbVexDay Proofwww.exploit-db.com/exploits/43458exploitdbVexDay Proofwww.exploit-db.com/exploits/43924exploitdbwww.exploit-db.com/exploits/43392unverifiedgithubgithub.com/shack2/javaserializetools514githubgithub.com/c0mmand3rOpSec/CVE-2017-10271143githubgithub.com/kkirsche/CVE-2017-10271129githubgithub.com/7kbstorm/WebLogic_CNVD_C2019_48814114githubgithub.com/SkyBlueEternal/CNVD-C-2019-48814-CNNVD-201904-961105githubgithub.com/1337g/CVE-2017-1027139githubgithub.com/Cymmetria/weblogic_honeypot33githubgithub.com/Luffin/CVE-2017-1027129githubgithub.com/s3xy/CVE-2017-1027122githubgithub.com/ETOCheney/JavaDeserialization9githubgithub.com/SuperHacker-liuan/cve-2017-10271-poc7githubgithub.com/pssss/CVE-2017-102715githubgithub.com/kbsec/Weblogic_Wsat_RCE4githubgithub.com/ZH3FENG/PoCs-Weblogic_2017_102713githubgithub.com/cjjduck/weblogic_wls_wsat_rce3githubgithub.com/pizza-power/weblogic-CVE-2019-2729-POC3githubgithub.com/Al1ex/CVE-2017-102712githubgithub.com/ianxtianxt/-CVE-2017-10271-2githubgithub.com/JackyTsuuuy/weblogic_wls_rce_poc-exp1githubgithub.com/Yuusuke4/WebLogic_CNVD_C_2019_488141githubgithub.com/XHSecurity/Oracle-WebLogic-CVE-2017-102711githubgithub.com/lonehand/Oracle-WebLogic-CVE-2017-10271-master1githubgithub.com/seoyoung-kang/CVE-2017-102710githubgithub.com/peterpeter228/Oracle-WebLogic-CVE-2017-102710githubgithub.com/r4b3rt/CVE-2017-102710githubgithub.com/cved-sources/cve-2017-102710githubgithub.com/testwc/CVE-2017-102710githubgithub.com/KKsdall/7kbstormq0githubgithub.com/Dungsocool/CVE-2017-102710githubgithub.com/shahdawadfallah-sys/Cybersecurity-Capstone-Project0vulncheckvulncheck.com/xdb/09caa396fa9dunverifiedvulncheckvulncheck.com/xdb/5db29476379funverifiedvulncheckvulncheck.com/xdb/d4ef87756956unverifiedvulncheckvulncheck.com/xdb/d09b1e7f97ccunverifiedvulncheckvulncheck.com/xdb/84b051e655c3unverifiedvulncheckvulncheck.com/xdb/748e47609e78unverifiedvulncheckvulncheck.com/xdb/5876caaffa74unverifiedvulncheckvulncheck.com/xdb/ceea1ee6f89dunverifiedvulncheckvulncheck.com/xdb/b1d32de02744unverifiedvulncheckvulncheck.com/xdb/f7947284ec6funverifiedvulncheckvulncheck.com/xdb/e9e5a0e896a8unverifiedvulncheckvulncheck.com/xdb/81bc72dbea42unverifiedvulncheckvulncheck.com/xdb/227b6343c39aunverifiedvulncheckvulncheck.com/xdb/560237e691a7unverifiedvulncheckvulncheck.com/xdb/07ffaabdd9b4unverifiedvulncheckvulncheck.com/xdb/45527e228cbcunverifiedvulncheckvulncheck.com/xdb/7e0283e80991unverifiedvulncheckvulncheck.com/xdb/3f317861c109unverifiedvulncheckvulncheck.com/xdb/439d9489666cunverifiedcve_referencewww.exploit-db.com/exploits/43458/unverifiedcve_referencewww.exploit-db.com/exploits/43924/unverifiedvulncheckvulncheck.com/xdb/14ab6f8b9982unverifiedvulncheckvulncheck.com/xdb/f9f1cd530e9eunverifiedvulncheckvulncheck.com/xdb/79b07cfac599unverifiedvulncheckvulncheck.com/xdb/81cdfcff4f97unverifiedvulncheckvulncheck.com/xdb/5d3fcd41baa9unverified
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.