PKP-WAL 3.5.0-1 baseColour LESS Code Injection
PKP-WAL 3.5.0-1 baseColour LESS Code Injection
PKP-WAL 3.5.0-1 contains a LESS Code Injection vulnerability, primarily via PKP-WAL 3.5.0-1 contains a LESS Code Injection vulnerability, primarily via its `baseColour` parameter.

This flaw arises because user-supplied input for `baseColour` is not adequately sanitized or escaped. Instead of being treated as a literal color value, the input is directly processed by the LESS compiler.

An attacker can inject arbitrary LESS/CSS code into the website's stylesheet. This allows them to:
* Deface the website or manipulate its user interface.
* Hide or alter content.
* In some advanced scenarios, depending on the LESS compiler's features, it could potentially lead to information disclosure or Cross-Site Scripting (XSS).

Mitigation requires strict input validation and sanitization, ensuring all user input is properly escaped and treated as data, preventing its execution as code.

-----------------------------------------------------------------
PKP-WAL <= 3.5.0-1 (baseColour) LESS Code Injection Vulnerability
-----------------------------------------------------------------


[-] Software Links:

https://pkp.sfu.ca
https://github.com/pkp/pkp-lib


[-] Affected Versions:

PKP Web Application Library (aka PKP-WAL or pkp-lib) version 3.4.0-9
and prior versions, and version 3.5.0-1 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. This will call the Less_Parser::parse() method by using the
"addLessVariables", which can be manipulated when updating "Theme
Settings". Specifically, user input passed through the "baseColour"
parameter to the .../api/v1/contexts/1/theme API endpoint is not
properly sanitized before being added to the "addLessVariables", 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 an account with
permissions to access the .../api/v1/institutions API endpoint, such
as a "Journal Editor" or "Production Editor" user account on OJS.


[-] Solution:

Upgrade to versions 3.4.0-10, 3.5.0-2, or later.


[-] Disclosure Timeline:

[21/10/2025] - Vendor notified
[24/10/2025] - Vendor fixed the issue and opened a public GitHub
issue: https://github.com/pkp/pkp-lib/issues/11974
[12/11/2025] - CVE identifier requested
[20/11/2025] - Version 3.3.0-22 released
[22/11/2025] - Version 3.4.0-10 released
[12/12/2025] - CVE identifier assigned
[29/11/2025] - Version 3.5.0-2 released
[23/12/2025] - Publication of this advisory


[-] CVE Reference:

The Common Vulnerabilities and Exposures program (cve.org) has
assigned the name CVE-2025-67893 to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

http://karmainsecurity.com/KIS-2025-12
Social Media Share
About Contact Terms of Use Privacy Policy
© Khalil Shreateh — Cybersecurity Researcher & White-Hat Hacker — Palestine 🇵🇸
All content is for educational purposes only. Unauthorized use of any information on this site is strictly prohibited.