CVE-2025-63644

5.4 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in pH7Software pH7-Social-Dating-CMS allows attackers to inject malicious scripts into user profile description fields. When other users view these profiles, the scripts execute in their browsers, potentially stealing session cookies or performing unauthorized actions. This affects all users of the vulnerable CMS version.

💻 Affected Systems

Products:
  • pH7Software pH7-Social-Dating-CMS
Versions: 17.9.1
Operating Systems: All platforms running the CMS
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default installation with standard configuration. Any site using the vulnerable version is affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, take over the CMS, deface the dating site, or steal sensitive user data including personal messages and payment information.

🟠

Likely Case

Attackers create malicious user profiles that steal session cookies from other users, enabling account takeover and potential data theft from compromised accounts.

🟢

If Mitigated

With proper input validation and output encoding, malicious scripts are neutralized before execution, preventing successful exploitation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires user registration or account access to inject malicious scripts into profile descriptions. The vulnerability is well-documented with public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: Not available

Restart Required: No

Instructions:

No official patch is currently available. Monitor the official pH7Software website for security updates and apply immediately when released.

🔧 Temporary Workarounds

Implement Input Validation and Output Encoding

all

Add server-side validation to sanitize user input in profile description fields and implement proper output encoding when displaying user content.

Modify CMS source code to add HTML entity encoding for user-generated content

Enable Content Security Policy (CSP)

all

Implement a strict Content Security Policy header to prevent execution of inline scripts and restrict script sources.

Add 'Content-Security-Policy: script-src 'self'' header to web server configuration

🧯 If You Can't Patch

  • Disable user profile description functionality entirely until a fix is available
  • Implement web application firewall (WAF) rules to block XSS payloads in user input

🔍 How to Verify

Check if Vulnerable:

Test by creating a user profile with a script payload in the description field (e.g., <script>alert('XSS')</script>) and verify if it executes when viewing the profile.

Check Version:

Check the CMS version in the admin panel or review the version.php file in the installation directory.

Verify Fix Applied:

After implementing workarounds, test with the same XSS payload to confirm scripts no longer execute and are properly sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual script tags or JavaScript in user profile update requests
  • Multiple failed XSS attempts in web server logs

Network Indicators:

  • HTTP requests containing script tags in POST data to profile update endpoints

SIEM Query:

source="web_server" AND ("<script" OR "javascript:" OR "onerror=" OR "onload=") AND uri_path="/user/profile/update"

🔗 References

📤 Share & Export