CVE-2025-51401

5.4 MEDIUM

📋 TL;DR

A stored cross-site scripting (XSS) vulnerability in Live Helper Chat v4.60 allows attackers to inject malicious scripts into the operator name parameter during chat transfers. When other users view chat sessions, these scripts execute in their browsers, potentially stealing session cookies or performing unauthorized actions. This affects all deployments using the vulnerable version of Live Helper Chat.

💻 Affected Systems

Products:
  • Live Helper Chat
Versions: v4.60
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the chat transfer function's operator name parameter. Requires attacker to have access to create or modify operator names.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator session cookies, gain administrative access to the chat system, compromise user data, or redirect users to malicious sites.

🟠

Likely Case

Session hijacking of chat operators or users, credential theft, defacement of chat interface, or limited data exfiltration.

🟢

If Mitigated

With proper input validation and output encoding, the vulnerability would be prevented, resulting in no impact.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires ability to set operator names (typically requires some level of access). Public proof-of-concept demonstrates the injection technique.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Fixed in commit 2056503ad96e04467ec9af8d827109b9b9b46223

Vendor Advisory: https://github.com/LiveHelperChat/livehelperchat/pull/2228/commits/2056503ad96e04467ec9af8d827109b9b9b46223

Restart Required: No

Instructions:

1. Update to the latest version of Live Helper Chat. 2. Apply the specific commit that fixes the XSS vulnerability. 3. Clear any cached data or sessions.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize operator name fields

Implement HTML entity encoding for operator name inputs
Add input validation regex: /^[a-zA-Z0-9\s-_.@]+$/

Output Encoding

all

Apply proper output encoding when displaying operator names in chat interface

Use htmlspecialchars() or equivalent function when outputting operator names
Implement Content Security Policy headers

🧯 If You Can't Patch

  • Implement a web application firewall (WAF) with XSS protection rules
  • Restrict access to operator management functions to trusted administrators only

🔍 How to Verify

Check if Vulnerable:

Test by attempting to inject a script payload into the operator name field during chat transfer and observing if it executes when viewed.

Check Version:

Check Live Helper Chat version in admin panel or configuration files

Verify Fix Applied:

Attempt the same injection after patching and verify the script does not execute (appears as plain text).

📡 Detection & Monitoring

Log Indicators:

  • Unusual operator name entries containing script tags or JavaScript code
  • Multiple failed login attempts following chat transfers

Network Indicators:

  • Unexpected outbound connections from chat interface to external domains
  • Suspicious Content-Type headers in responses

SIEM Query:

source="web_logs" AND (operator_name CONTAINS "<script>" OR operator_name CONTAINS "javascript:")

🔗 References

📤 Share & Export