← volver
CVE-2022-29464criticalbajo ataqueransomwareCWE-22

CVE-2022-29464

100Vexday Risk Score

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

ssvc Actcvss 9.8epss 100%
de la publicación al arma2 días
Publicada en NVD18 abr
1ª PoC+2d
metasploit1 abr
CISA KEV+7d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
49 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-05-16

Apply updates per vendor instructions.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
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.
Corregidas en
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.

Cómo protegerse

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().

Cómo 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.

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.
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
Productos afectados
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/eda98189c7b4no verificadovulncheckvulncheck.com/xdb/692f8dbe0563no verificadovulncheckvulncheck.com/xdb/f5b17b3bfaceno verificadovulncheckvulncheck.com/xdb/fb07ec0c6437no verificadovulncheckvulncheck.com/xdb/11fb9f164ff9no verificadovulncheckvulncheck.com/xdb/00ad5fff1b1dno verificadovulncheckvulncheck.com/xdb/0a4c343b0014no verificadovulncheckvulncheck.com/xdb/5c2ba6bd6d73no verificadovulncheckvulncheck.com/xdb/51ec326380b8no verificadovulncheckvulncheck.com/xdb/86a670679b59no verificadovulncheckvulncheck.com/xdb/91f9d53e4538no verificadovulncheckvulncheck.com/xdb/82f284db0232no verificadovulncheckvulncheck.com/xdb/f381bd45a664no verificadovulncheckvulncheck.com/xdb/22701ee3665fno verificadovulncheckvulncheck.com/xdb/b3297f4dd55cno verificadovulncheckvulncheck.com/xdb/057c3b65744eno verificadocve_referencepacketstormsecurity.com/files/166921/WSO-Arbitrary-File-Upload-Remote-Code-Execution.htmlno verificadovulncheckvulncheck.com/xdb/d98d3fe174f9no verificadovulncheckvulncheck.com/xdb/c0f15d01be06no verificadovulncheckvulncheck.com/xdb/7407640180cbno verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.