CVE-2026-47321 in MINAinformação

Sumário

de VulDB • 21/09/2026

A classe CompressionFilter utiliza ZLib para descomprimir e comprimir os dados enviados e recebidos. Ao inflar (descomprimir) os dados de entrada, o filtro não controla o tamanho resultante e cria um buffer independentemente do que aconteça.

Alguns dados comprimidos podem ter uma taxa de compressão superior a 1 mil, levando ao esgotamento da memória da aplicação, pois não controlamos o tamanho descomprimido (inflado).

A correção adiciona esse controle, permitindo que o desenvolvedor da aplicação forneça um limite de tamanho fixo; quando atingido, é lançada uma exceção. Também permite que o usuário defina uma taxa de compressão máxima a não ser excedida, protegendo a aplicação contra arquivos inflados pequenos que se expandem para tamanhos gigantescos, mas com um limite gracioso (grace limit) para o tamanho resultante (1 MB) para evitar falsos positivos (como um arquivo muito pequeno que é expandido com uma alta taxa de compressão, mas resulta em um tamanho aceitável, como algumas milhares de bytes).

Para aplicações que utilizam este recurso, é altamente recomendável criar a CompressionFilter e passar o limite máximo como quarto parâmetro do construtor, maxDecompressedSize:

public CompressionFilter(final boolean compressInbound, final boolean compressOutbound, final int compressionLevel, final int maxDecompressedSize)

Opcionalmente, pode-se também fornecer um quinto parâmetro maxDecompressRatio e um sexto parâmetro decompressRatioMinSize para permitir que arquivos inflados pequenos com uma alta taxa de compressão ainda sejam aceitos.

Aqui estão os construtores adicionais:

public CompressionFilter(final boolean compressInbound, final boolean compressOutbound, final int compressionLevel, final int maxDecompressedSize, final long maxDecompressRatio, final long decompressRatioMinSize)

Observe também que uma API fluente foi adicionada para poupar aos usuários a dor de chamar um construtor com tantos parâmetros:

CompressionFilter compressionFilter = new CompressionFilter() .setCompressionLevel(Zlib.COMPRESSION_MAX) .setMaxDecompressedSize(1_000_000) .setMaxDecompressRatio(100). .setDecompressRatioMinSize(100_000);

As aplicações que utilizam Apache MINA são aconselhadas a atualizar e configurar sua instância de CompressionFilter.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsável

Apache

Reservar

19/05/2026

Divulgação

21/09/2026

Moderação

aceite

Entrada

VDB-408078

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

médio

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!