CVE-2024-52046
Apache MINA: aplicações MINA que utilizam desserialização sem limites podem permitir RCE
- Publicado
- 25 de dez. de 2024
- Atualizado
- 2 de ago. de 2025
- Atribuindo CNA
- apache
- Evidência observada
- 28 de ago. de 2026
CVSS primário
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XModerado · próximos 30 dias
- Percentil
- 97,8%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
O ObjectSerializationDecoder no Apache MINA utiliza o protocolo nativo de desserialização do Java para processar dados serializados recebidos, mas carece das verificações e defesas de segurança necessárias. Esta vulnerabilidade permite que atacantes explorem o processo de desserialização enviando dados serializados maliciosos especialmente elaborados, potencialmente levando a ataques de execução remota de código (RCE). Este problema afeta as versões 2.0.X, 2.1.X e 2.2.X do núcleo do MINA, e será corrigido pelos lançamentos 2.0.27, 2.1.10 e 2.2.4. Também é importante observar que uma aplicação que utiliza a biblioteca do núcleo do MINA só será afetada se o método IoBuffer#getObject() for chamado, e esse método específico é potencialmente chamado ao adicionar uma instância de ProtocolCodecFilter usando a classe ObjectSerializationCodecFactory na cadeia de filtros. Se a sua aplicação estiver usando especificamente essas classes, você precisa atualizar para a versão mais recente da biblioteca do núcleo do MINA. Atualizar não será suficiente: você também precisa permitir explicitamente as classes que o decodificador aceitará na instância ObjectSerializationDecoder, usando um dos três novos métodos: /** * Aceita nomes de classes onde o ClassNameMatcher fornecido corresponde para * desserialização, a menos que sejam rejeitados de outra forma. * * @param classNameMatcher o matcher a ser usado */ public void accept(ClassNameMatcher classNameMatcher) /** * Aceita nomes de classes que correspondem ao padrão fornecido para * desserialização, a menos que sejam rejeitados de outra forma. * * @param pattern regexp padrão do Java */ public void accept(Pattern pattern) /** * Aceita as classes curinga especificadas para desserialização, * a menos que sejam rejeitadas de outra forma. * * @param patterns Padrões de nome de arquivo curinga, conforme definidos por * {@link org.apache.commons.io.FilenameUtils#wildcardMatch(String, String) FilenameUtils.wildcardMatch} */ public void accept(String... patterns) Por padrão, o decodificador rejeitará *todas* as classes que estiverem presentes nos dados recebidos. Nota: Os subprojetos FtpServer, SSHd e Vysper não são afetados por este problema.
Fontes
1Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.