mapfish-print is a component of MapFish for printing templated cartographic maps. Prior to 3.28.30, 3.30.32, 3.31.24, 3.33.16, and 4.0.5, MapFish Print accepts an attacker-controlled GML layer url in requests to the /api/print3/print endpoint and fetches XML parsed by core/src/main/java/org/mapfish/print/map/geotools/GmlLayer.java without disabling external entities and external DTDs. A remote XML document and DTD can expand a local file entity, and the resulting content can be exposed through the GML parsing and error path. This allows unauthenticated attackers to read files such as operating-system account data, Kubernetes service-account tokens, and certificates. Replacing the file entity target with an internal HTTP endpoint also permits server-side request forgery. This issue is fixed in versions 3.28.30, 3.30.32, 3.31.24, 3.33.16, and 4.0.5.
https://github.com/mapfish/mapfish-print/security/advisories/GHSA-5v29-34h8-v68r
https://github.com/mapfish/mapfish-print/releases/tag/4.0.5
https://github.com/mapfish/mapfish-print/releases/tag/3.31.24
https://github.com/mapfish/mapfish-print/releases/tag/3.30.32
https://github.com/mapfish/mapfish-print/releases/tag/3.28.30
https://github.com/mapfish/mapfish-print/pull/4221
https://github.com/mapfish/mapfish-print/pull/4219
https://github.com/mapfish/mapfish-print/pull/4217
https://github.com/mapfish/mapfish-print/pull/4216
https://github.com/mapfish/mapfish-print/pull/4215
https://github.com/mapfish/mapfish-print/pull/4212
https://github.com/mapfish/mapfish-print/commit/d13911ac6e0509444d64e74830f10b14e4dcfdf1
https://github.com/mapfish/mapfish-print/commit/a55a24873db5f19b37abac7d59144dc86406c236
https://github.com/mapfish/mapfish-print/commit/56c47d3bf70d8428916dea8ed7005518ad07dc7d
https://github.com/mapfish/mapfish-print/commit/3525e8150fcb5f40095930ccf7aec0d8ce92bbcb
https://github.com/mapfish/mapfish-print/commit/23a96e7baa15077bdb0e5fc5a72b18da23af9121
https://github.com/mapfish/mapfish-print/commit/13beae7a7f970fc3526c1f7ca5db817d8d51fbec