High · published October 9, 2026
CompressionUtils.inflate() decompressed attacker-controlled DEFLATE data with no output-size cap. A small (~KB) crafted payload could expand to gigabytes on the heap. Reachable via JWE decryption when zip=DEF (e.g. JoseSessionTokenProvider with RSA-OAEP key wrap) and via SAML redirect/POST binding token inflation — in both cases decompression happens before/independent of trust validation.
Fix: Added a configurable maximum inflated-size cap (default 10 MiB, org.apache.cxf.compression-max-inflated-size system property) to CompressionUtils.inflate(); aborts with DataFormatException once exceeded.
Users are recommended to upgrade to versions 4.2.4 or 4.1.9 or 3.6.13, which fix this issue.
| Product | Versions | Fixed in |
|---|---|---|
| apache/cxf | < 3.6.13 | 3.6.13 |
| apache/cxf | ≥ 4.0.0, < 4.1.9 | 4.1.9 |
| apache/cxf | ≥ 4.2.0, < 4.2.4 | 4.2.4 |