Miggo Logo

CVE-2025-58049: XWiki PDF export jobs store sensitive cookies unencrypted in job statuses

5.8

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/28/2025
Updated
8/28/2025
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.xwiki.platform:xwiki-platform-export-pdf-apimaven>= 14.4.2, < 16.4.816.4.8
org.xwiki.platform:xwiki-platform-export-pdf-apimaven>= 16.5.0-rc-1, < 16.10.716.10.7
org.xwiki.platform:xwiki-platform-export-pdf-apimaven>= 17.0.0-rc-1, < 17.4.0-rc-117.4.0-rc-1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The analysis of the security advisory and the associated patch commit 60982ad0057b1701ed8297f28cad35d170686539 clearly indicates the source of the vulnerability. The vulnerability description explains that sensitive user cookies are stored in the serialized status of a PDF export job. The patch addresses this by introducing a cleanup() method within the PDFExportJob.java file. This new method is explicitly designed to remove sensitive keys such as request.session, request.headers, and request.cookies from the job's request context. The runInternal() method, which orchestrates the PDF export, was modified to guarantee the execution of this cleanup() method by placing it in a finally block. Therefore, the runInternal() function is identified as the vulnerable function because, before the patch, it was responsible for the process that left sensitive data in a stored state. When a user triggers a PDF export, this function would be on the execution stack, and its failure to sanitize the job context is the root cause of the vulnerability.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T** P** *xport us*s * ***k*roun* jo* t**t runs on t** s*rv*r-si**. Jo*s lik* t*is **v* * st*tus t**t is s*ri*liz** in t** p*rm*n*nt *ir**tory w**n t** jo* is *inis***. T** jo* st*tus in*lu**s t** jo* r*qu*st. T** P** *xport jo* r*qu*st is

Reasoning

T** *n*lysis o* t** s**urity **visory *n* t** *sso*i*t** p*t** *ommit `****************************************` *l**rly in*i**t*s t** sour** o* t** vuln*r**ility. T** vuln*r**ility **s*ription *xpl*ins t**t s*nsitiv* us*r *ooki*s *r* stor** in t** s