CVE-2025-10342

6.1 MEDIUM

📋 TL;DR

A stored HTML injection vulnerability in Perfex CRM v3.2.1 allows attackers to inject malicious HTML content via the 'name' parameter in POST requests to the '/subscriptions/create' endpoint. This affects all users of Perfex CRM v3.2.1 who have subscription creation functionality enabled. The vulnerability enables attackers to execute cross-site scripting attacks against legitimate users.

💻 Affected Systems

Products:
  • Perfex CRM
Versions: v3.2.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with subscription functionality enabled. The vulnerability exists in the default installation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject malicious scripts that steal session cookies, redirect users to phishing sites, or perform actions on behalf of authenticated users, potentially leading to account takeover and data theft.

🟠

Likely Case

Attackers inject HTML that displays misleading information, defaces the application, or redirects users to malicious sites, compromising user trust and potentially capturing credentials.

🟢

If Mitigated

With proper input validation and output encoding, injected HTML would be rendered as plain text rather than executable code, preventing any malicious impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires the ability to create subscriptions, which typically requires some level of authentication. The vulnerability is stored, meaning injected content persists and affects multiple users.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: v3.2.2 or later

Vendor Advisory: https://www.perfexcrm.com/

Restart Required: No

Instructions:

1. Backup your current installation. 2. Download the latest version from the official Perfex CRM website. 3. Replace the affected files with the patched version. 4. Clear any cached data. 5. Verify the fix by testing subscription creation with HTML input.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to strip or escape HTML tags from the 'name' parameter before processing.

Add input sanitization in the subscription creation controller to filter HTML tags from user input

🧯 If You Can't Patch

  • Disable subscription creation functionality entirely if not needed
  • Implement a web application firewall (WAF) rule to block HTML injection patterns in the 'name' parameter

🔍 How to Verify

Check if Vulnerable:

Attempt to create a subscription with HTML content in the name field (e.g., <script>alert('test')</script>) and check if it's stored and rendered as HTML.

Check Version:

Check the version in the Perfex CRM admin panel or review the application's version file.

Verify Fix Applied:

After patching, repeat the test with HTML input - it should be stored as plain text or rejected entirely.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to '/subscriptions/create' with HTML tags in parameters
  • Multiple failed subscription creation attempts with suspicious content

Network Indicators:

  • HTTP POST requests containing HTML/script tags in the 'name' parameter

SIEM Query:

source="web_server" AND uri="/subscriptions/create" AND method="POST" AND (param_name="name" AND value MATCHES "<.*>")

🔗 References

📤 Share & Export