CVE-2025-13469
📋 TL;DR
This vulnerability allows attackers to inject malicious scripts into the payment instructions setting page of Public Knowledge Project's OMP and OJS platforms. When exploited, it enables cross-site scripting attacks that can steal user sessions or deface websites. Users of OMP/OJS versions 3.3.0, 3.4.0, and 3.5.0 are affected.
💻 Affected Systems
- Public Knowledge Project Open Monograph Press (OMP)
- Public Knowledge Project Open Journal Systems (OJS)
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Attackers could steal administrator credentials, take over administrative accounts, and compromise the entire publishing platform.
Likely Case
Attackers inject malicious scripts to steal user session cookies or display phishing content to users accessing payment pages.
If Mitigated
With proper input validation and output encoding, the vulnerability would be prevented from executing malicious scripts.
🎯 Exploit Status
Exploitation requires the ability to submit payment instructions, which typically requires some level of user interaction or administrative access.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Upgrade to version 3.3.0-1, 3.4.0-1, or 3.5.0-1 or later
Vendor Advisory: https://github.com/pkp/pkp-lib/issues/12022
Restart Required: No
Instructions:
1. Backup your current installation. 2. Download the latest patched version from the official PKP repository. 3. Replace the affected file: plugins/paymethod/manual/templates/paymentForm.tpl with the patched version. 4. Clear application caches if applicable.
🔧 Temporary Workarounds
Disable Manual Payment Plugin
allTemporarily disable the affected payment method to prevent exploitation.
Navigate to Settings > Website > Plugins > Manual Payment Plugin > Disable
Input Validation Filter
allImplement server-side input validation for the manualInstructions parameter.
Add input sanitization in the payment handler controller to strip HTML/script tags
🧯 If You Can't Patch
- Implement a web application firewall (WAF) with XSS protection rules
- Disable the payment instructions feature or restrict access to administrative users only
🔍 How to Verify
Check if Vulnerable:
Check if your OMP/OJS version is 3.3.0, 3.4.0, or 3.5.0 and verify the paymentForm.tpl file lacks proper input sanitization.
Check Version:
Check the version.txt file in the installation root directory or view the About page in the admin interface.
Verify Fix Applied:
After patching, verify that HTML/script tags in the manualInstructions parameter are properly escaped in the rendered output.
📡 Detection & Monitoring
Log Indicators:
- Unusual POST requests to payment handler endpoints with script tags in parameters
- Multiple failed payment submissions with suspicious content
Network Indicators:
- HTTP requests containing <script> tags in the manualInstructions parameter
- Unexpected redirects from payment pages
SIEM Query:
source="web_server" AND (url="*paymentForm*" OR url="*paymethod/manual*") AND (param="*<script>*" OR param="*javascript:*")