Summary
CVE-2026-55848 is a high-severity (CVSS 8.6) XML External Entity (XXE) vulnerability in MapFish Print, a Java-based cartographic map printing service. The flaw allows unauthenticated remote attackers to submit a malicious GML layer URL that MapFish Print parses without disabling external entity or DTD resolution, resulting in local file disclosure and server-side request forgery (SSRF).
Technical details
- Root cause: MapFish Print processes attacker-supplied GML (Geographic Markup Language) layer URLs and parses the returned XML without disabling external entities and external DTDs (CWE-611).
- Trigger condition: A print request submitted to the report-generation endpoint (
/api/print3/print/{template}/buildreport.pdf) that includes a crafted GML layer configuration pointing to an attacker-controlled XML document with a malicious DTD/external entity. - Attack vector: Network, no authentication or user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: Disclosure of local files such as OS account data (e.g.,
/etc/passwd), Kubernetes service-account tokens, and certificates; the external entity target can also be replaced with an internal HTTP endpoint to perform blind SSRF against internal services.
Affected software
org.mapfish.print.print-libandorg.mapfish.print.print-servlet(Maven): versions 3.0.0–3.28.29, 3.29.0–3.30.31, 3.31.0–3.31.23, 3.32.0–3.33.15, and 4.0.0–4.0.4- Docker image
camptocamp/mapfish_print: same affected version ranges
Severity
CVSS v3.1 Base Score: 8.6 (High)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Mitigation and recommended actions
- Immediate: Upgrade to the patched releases: 3.28.30, 3.30.32, 3.31.24, 3.33.16, or 4.0.5, depending on the branch in use.
- If no patch: Restrict or validate GML layer URLs submitted in print requests, and apply network egress controls on the print service host so it cannot reach internal-only endpoints or metadata services, reducing SSRF impact until upgraded.

