← voltar
CVE-2022-29464criticalsob ataqueransomwareCWE-22

CVE-2022-29464

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 9.8epss 100%
da publicação à arma2 dias
Publicada no NVD18 de abr.
1ª PoC+2d
metasploit1 de abr.
CISA KEV+7d
probabilidade de exploração
100%top 1% das CVEs
exploração observada
simCISA + VulnCheck
49 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-05-16

Apply updates per vendor instructions.

Resumo

Falha crítica de upload de arquivo irrestrito em múltiplos produtos WSO2 (API Manager, Identity Server, Enterprise Integrator, Open Banking), descoberta por Orange Tsai, que permite RCE não autenticado. O endpoint /fileupload fica fora do fluxo de autenticação por decisão explícita de código, e um Content-Disposition com sequência de directory traversal permite gravar um arquivo (ex: JSP) dentro do webroot da aplicação, que é então executado via HTTP. Está no catálogo KEV da CISA com exploração ativa confirmada, tem exploit público e módulo Metasploit — CVSS 9.8 aqui reflete corretamente o risco, sem pré-condições que reduzam o impacto.

Detalhamento técnico

O vetor é o servlet FileUploadServlet, mapeado na rota /fileupload. No identity.xml, essa rota é declarada com secured="false" para todos os métodos HTTP. Além disso, o método handleSecurity() do Carbon delega a decisão de bloquear/permitir acesso a CarbonUILoginUtil.handleLoginPageRequest(), que verifica se a URI requisitada termina em /fileupload ou contém /fileupload/ (e não contém ";") — nesse caso retorna RETURN_TRUE e pula qualquer checagem de login, logando apenas em nível debug "Skipping security checks for". Ou seja, a rota é acessível sem sessão nem credenciais por design de duas camadas independentes de configuração.

Como é explorada

No init() do servlet, FileUploadExecutorManager carrega, a partir do carbon.xml, um mapeamento de 'Actions' para classes executoras de upload. A configuração padrão mapeia as ações 'keystore', 'certificate' e o wildcard '*' para AnyFileUploadExecutor, que não restringe tipo nem conteúdo do arquivo enviado — aceita qualquer extensão, incluindo JSP. O nome/caminho de destino do arquivo é derivado do cabeçalho Content-Disposition da requisição multipart; sem sanitização de path, um atacante insere sequências '../../../../' nesse campo para escapar do diretório de destino padrão e alcançar um diretório servido publicamente, como repository/deployment/server/webapps. O resultado é a gravação de um arquivo JSP diretamente sob o webroot, executável em seguida com uma simples requisição GET — RCE completo com privilégios do processo do servidor.

Versões

Afetadas
WSO2 API Manager 2.2.0, 2.5.0, 2.6.0, 3.0.0, 3.1.0, 3.2.0, 4.0.0; WSO2 Identity Server 5.2.0 a 5.11.0 (inclui 5.3.0–5.9.0 e 5.10.0); WSO2 Identity Server Analytics 5.4.0, 5.4.1, 5.5.0, 5.6.0; WSO2 Identity Server as Key Manager 5.3.0, 5.5.0, 5.6.0, 5.7.0, 5.9.0, 5.10.0; WSO2 Enterprise Integrator 6.2.0 a 6.6.0; WSO2 Open Banking AM 1.3.0, 1.4.0, 1.5.0, 2.0.0; WSO2 Open Banking KM 1.3.0, 1.4.0, 1.5.0; WSO2 Open Banking IAM 2.0.0. A descrição oficial da CVE cita faixas ligeiramente diferentes (ex. Key Manager '5.3.0 até 5.11.0'); a lista acima é a publicada no advisório oficial WSO2-2021-1738 e deve prevalecer em caso de divergência.
Corrigidas em
Não há números de versão de release corrigidos; o fornecedor distribuiu o fix como patch via WSO2 Updates (WUM), identificado por 'update level' específico por versão (tabela completa no advisory WSO2-2021-1738, ex.: API Manager 2.2.0 → nível 43, 4.0.0 → nível 64; Identity Server 5.11.0 → nível 103; Enterprise Integrator 6.6.0 → nível 79). Para instâncias sem assinatura, os fixes públicos estão em wso2/carbon-kernel PR#3152 e wso2/carbon-identity-framework PR#3864.

Como se proteger

Não é RCE que exija autenticação, configuração não padrão ou interação do usuário: qualquer instância exposta na rede com a interface de management/API acessível é vulnerável por padrão. Clientes com assinatura WSO2 Updates (WUM) devem aplicar o patch até o update level indicado pelo fornecedor para cada versão (ex.: API Manager 4.0.0 → update level 64; Identity Server 5.11.0 → update level 103; Enterprise Integrator 6.6.0 → update level 79 — a lista completa por versão está no advisory WSO2-2021-1738). Não existe um número de versão novo publicado para essas linhas; a correção é um patch/update level, não um release numerado — trate isso como não-mitigado se a instância não tiver sido atualizada via WUM ou patch manual.

Para usuários de código aberto sem assinatura, ou versões fora do suporte, o fornecedor indica aplicar os fixes públicos em carbon-kernel (PR#3152) e carbon-identity-framework (PR#3864), ou, como paliativo, adicionar regras de controle de acesso ao deployment.toml restringindo /fileupload por permissão — as regras variam por família de produto (grupo API Manager 3.x/4.0.0 vs. grupo Identity Server/IS-as-KM), e devem seguir exatamente o bloco publicado no advisory para a versão em uso, não uma regra genérica. Esse paliativo tem custo operacional baixo (só requer restart do servidor) mas não é substituto do patch: mitiga o vetor conhecido, não corrige a causa raiz na lógica de handleLoginPageRequest().

Como detectar

Procure em logs de acesso do servidor por requisições (tipicamente POST multipart) para caminhos contendo '/fileupload', especialmente com cabeçalho Content-Disposition trazendo sequências de traversal ('../../../') apontando para repository/deployment/server/webapps ou outro diretório servido. Verifique também arquivos .jsp (ou outra extensão executável) recém-criados nos diretórios de webapps que não correspondam a artefatos de deploy legítimos, e mensagens de log em nível debug do Carbon do tipo 'Skipping security checks for' referenciando URIs de fileupload — isso indica que a rota foi acessada sem autenticação. Não há assinatura única confiável além dessas, já que o payload em si (o conteúdo do arquivo enviado) pode variar livremente.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Certain WSO2 products allow unrestricted file upload with resultant remote code execution. The attacker must use a /fileupload endpoint with a Content-Disposition directory traversal sequence to reach a directory under the web root, such as a ../../../../repository/deployment/server/webapps directory. This affects WSO2 API Manager 2.2.0 up to 4.0.0, WSO2 Identity Server 5.2.0 up to 5.11.0, WSO2 Identity Server Analytics 5.4.0, 5.4.1, 5.5.0 and 5.6.0, WSO2 Identity Server as Key Manager 5.3.0 up to 5.11.0, WSO2 Enterprise Integrator 6.2.0 up to 6.6.0, WSO2 Open Banking AM 1.4.0 up to 2.0.0 and WSO2 Open Banking KM 1.4.0, up to 2.0.0.
CVSS:3.1/AC:L/AV:N/A:H/C:H/I:H/PR:N/S:U/UI:N
Produtos afetados
n/a · n/a
PoCs públicas encontradas49
githubgithub.com/hakivvi/CVE-2022-29464377githubgithub.com/0xdsm/WSOB28githubgithub.com/SystemVll/CVE-2022-2946411githubgithub.com/Ap0dexMe0/CVE-2022-294649githubgithub.com/gbrsh/CVE-2022-294647githubgithub.com/Lidong-io/cve-2022-294645githubgithub.com/hev0x/CVE-2022-294645githubgithub.com/jimidk/Better-CVE-2022-294645githubgithub.com/Chocapikk/CVE-2022-294645githubgithub.com/r4x0r1337/-CVE-2022-294644githubgithub.com/gpiechnik2/nmap-CVE-2022-294643githubgithub.com/hupe1980/CVE-2022-294643githubgithub.com/superzerosec/CVE-2022-294642githubgithub.com/mr-r3bot/WSO2-CVE-2022-294642githubgithub.com/tufanturhan/wso2-rce-cve-2022-294642githubgithub.com/hxlxmj/Mass-exploit-CVE-2022-294641githubgithub.com/0xAgun/CVE-2022-294641githubgithub.com/axin2019/CVE-2022-294641githubgithub.com/LinJacck/CVE-2022-294641githubgithub.com/Pasch0/WSO2RCE1githubgithub.com/amit-pathak009/CVE-2022-29464-mass1githubgithub.com/devengpk/CVE-2022-294641githubgithub.com/Pushkarup/CVE-2022-294641githubgithub.com/h3x0v3rl0rd/CVE-2022-294640githubgithub.com/SynixCyberCrimeMy/CVE-2022-294640githubgithub.com/cc3305/CVE-2022-294640githubgithub.com/c1ph3rbyt3/CVE-2022-294640githubgithub.com/amit-pathak009/CVE-2022-294640githubgithub.com/lowkey0808/cve-2022-294640vulncheckvulncheck.com/xdb/eda98189c7b4não verificadovulncheckvulncheck.com/xdb/692f8dbe0563não verificadovulncheckvulncheck.com/xdb/f5b17b3bfacenão verificadovulncheckvulncheck.com/xdb/fb07ec0c6437não verificadovulncheckvulncheck.com/xdb/11fb9f164ff9não verificadovulncheckvulncheck.com/xdb/00ad5fff1b1dnão verificadovulncheckvulncheck.com/xdb/0a4c343b0014não verificadovulncheckvulncheck.com/xdb/5c2ba6bd6d73não verificadovulncheckvulncheck.com/xdb/51ec326380b8não verificadovulncheckvulncheck.com/xdb/86a670679b59não verificadovulncheckvulncheck.com/xdb/91f9d53e4538não verificadovulncheckvulncheck.com/xdb/82f284db0232não verificadovulncheckvulncheck.com/xdb/f381bd45a664não verificadovulncheckvulncheck.com/xdb/22701ee3665fnão verificadovulncheckvulncheck.com/xdb/b3297f4dd55cnão verificadovulncheckvulncheck.com/xdb/057c3b65744enão verificadocve_referencepacketstormsecurity.com/files/166921/WSO-Arbitrary-File-Upload-Remote-Code-Execution.htmlnão verificadovulncheckvulncheck.com/xdb/d98d3fe174f9não verificadovulncheckvulncheck.com/xdb/c0f15d01be06não verificadovulncheckvulncheck.com/xdb/7407640180cbnão verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.