CVE-2025-58049: XWiki PDF export jobs store sensitive cookies unencrypted in job statuses
The PDF export uses a background job that runs on the server-side. Jobs like this have a status that is serialized in the permanent directory when the job is finished. The job status includes the job request. The PDF export job request is initialized, before the job starts, with some context information that is needed to replicate the HTTP request (used to trigger the export) in the background thread used to run the export job. This context information includes the cookies from the HTTP request that triggered the export. As a result, the user cookies (including the encrypted username and password) are stored in the permanent directory after the PDF export is finished. As the encryption key is stored in the same data directory (by default it is generated in data/configuration.properties
), this means that this job status contains the equivalent of the plain text password of the user who requested the PDF export.
XWiki shouldn’t store passwords in plain text, and it shouldn’t be possible to gain access to plain text passwords by gaining access to, e.g., a backup of the data directory.
References
Code Behaviors & Features
Detect and mitigate CVE-2025-58049 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →