CVE-2026-47321
Received Received - Intake

Memory Exhaustion in Apache MINA CompressionFilter

Vulnerability report for CVE-2026-47321, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-21

Last updated on: 2026-09-21

Assigner: Apache Software Foundation

Description

The CompressionFilter class uses ZLib to deflate and inflate data sent and received. When we inflate incoming data, the filter does not control the resulting size, and create a buffer no matter what. Some compressed data may have a compression ration greater than 1 thousand, leading to an exhaustion of the application memory, as we don't control the deflated size. The fix adds such a control by allowing the application developer to provide a fixed size limit, which when reached throws an exception. It also allows the user to provide a compression ratio that should not be exceeded, protected the application from small inflated files that inflate in gigantic files, but with a grace limit for the resulting size (1Mb) to avoid false positive (like a very small file inflating with a high ratio, but resulting with a acceptable size, like a few thousands bytes) For application using this feature, it is highly recommended to create theΒ CompressionFilter and to pass the maximum limit as a forth constructor parameter, maxDecompressedSize: public CompressionFilter(final boolean compressInbound, final boolean compressOutbound, final int compressionLevel, final int maxDecompressedSize)Optionally one can also provide aΒ maxDecompressRatioΒ fifth parameter, and a decompressRatioMinSizeΒ sixth parameter to allow small inflated files with a high compression ratio to still be accepted. Here are the additional constructor: public CompressionFilter(final boolean compressInbound, final boolean compressOutbound, final int compressionLevel, final int maxDecompressedSize, final long maxDecompressRatio, final long decompressRatioMinSize) Also note that a fluent API has been added to spare the users the pain to call a constructor with that many parameters:  CompressionFilter compressionFilter = new CompressionFilter()     .setCompressionLevel(Zlib.COMPRESSION_MAX) Β  .setMaxDecompressedSize(1_000_000) Β  .setMaxDecompressRatio(100). Β  .setDecompressRatioMinSize(100_000);Β  Applications using Apache MINA are advised to upgrade and configure their CompressionFilter instance.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-21
Last Modified
2026-09-21
Generated
2026-09-21
AI Q&A
2026-09-21
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
apache mina *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-409 The product does not handle or incorrectly handles a compressed input with a very high compression ratio that produces a large output.
CWE-789 The product allocates memory based on an untrusted, large size value, but it does not ensure that the size is within expected limits, allowing arbitrary amounts of memory to be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability involves the CompressionFilter class in Apache MINA which uses ZLib for data compression. The issue is that when inflating incoming compressed data, the filter does not limit the resulting size, potentially creating excessively large buffers. Malicious compressed data with a high compression ratio (over 1000x) could exhaust application memory by inflating to an uncontrolled size.

Detection Guidance

This vulnerability can be detected by monitoring memory usage and network traffic for unexpected spikes, particularly when handling compressed data. Check for applications using Apache MINA's CompressionFilter without proper size limits. Look for OutOfMemoryError exceptions in logs related to data decompression.

Impact Analysis

This vulnerability can lead to denial-of-service attacks by consuming all available memory on the system. Attackers could send specially crafted compressed data that inflates to an enormous size, crashing the application or causing system instability. Systems with limited memory resources are particularly vulnerable.

Compliance Impact

This vulnerability could lead to denial-of-service conditions by exhausting application memory through uncontrolled decompression of maliciously crafted compressed data. This may impact compliance with GDPR by failing to ensure availability of services and HIPAA by disrupting critical healthcare applications. The lack of size limits on decompressed data could violate security and availability requirements in these regulations.

Mitigation Strategies

Immediately upgrade Apache MINA to a patched version. Configure the CompressionFilter with maxDecompressedSize set to a safe limit (e.g., 1,000,000 bytes). Optionally set maxDecompressRatio and decompressRatioMinSize to prevent extreme compression ratios. Review all applications using this filter and update their configurations.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-47321. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart