CVE-2025-67290

6.1 MEDIUM

📋 TL;DR

A stored cross-site scripting vulnerability in Piranha CMS v12.1 allows attackers to inject malicious scripts into the Excerpt field of the Page Settings module. When users view affected pages, the scripts execute in their browsers, potentially compromising user sessions or performing unauthorized actions. This affects all Piranha CMS v12.1 installations with the Page Settings module enabled.

💻 Affected Systems

Products:
  • Piranha CMS
Versions: v12.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with the Page Settings module enabled and Excerpt field accessible.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, hijack user sessions, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise and data theft.

🟠

Likely Case

Attackers inject malicious JavaScript to steal session cookies or perform actions as authenticated users, leading to unauthorized content modification or data exfiltration.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized, preventing execution while maintaining legitimate content display.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authentication to access the Page Settings module. Public proof-of-concept code is available in the GitHub repository.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: http://piranha.com

Restart Required: No

Instructions:

1. Monitor vendor website for security updates. 2. Apply patch when available. 3. Test in development environment before production deployment.

🔧 Temporary Workarounds

Input Validation and Sanitization

all

Implement server-side validation to reject or sanitize HTML/JavaScript in Excerpt field input.

Output Encoding

all

Apply proper HTML encoding when displaying Excerpt field content to prevent script execution.

🧯 If You Can't Patch

  • Disable or restrict access to the Page Settings module Excerpt field for non-administrative users.
  • Implement a web application firewall (WAF) with XSS protection rules to block malicious payloads.

🔍 How to Verify

Check if Vulnerable:

Test by entering a simple XSS payload like <script>alert('test')</script> into the Excerpt field and checking if it executes when viewing the page.

Check Version:

Check Piranha CMS version in admin panel or configuration files.

Verify Fix Applied:

After applying fixes, test with the same payload to confirm it's properly sanitized or encoded and doesn't execute.

📡 Detection & Monitoring

Log Indicators:

  • Unusual content submissions to Excerpt field containing script tags or JavaScript code
  • Multiple failed validation attempts on Page Settings

Network Indicators:

  • HTTP requests with suspicious payloads in POST data to page update endpoints

SIEM Query:

source="web_logs" AND (uri_path="/admin/pages" OR uri_path="/api/pages") AND (request_body CONTAINS "<script>" OR request_body CONTAINS "javascript:")

🔗 References

📤 Share & Export