CVE-2025-68927

6.1 MEDIUM

📋 TL;DR

LibreDesk versions before 0.8.6-beta are vulnerable to stored HTML injection in the contact notes feature. Attackers can inject malicious HTML elements like forms and images by intercepting and modifying API requests, leading to phishing, CSRF attacks, and UI manipulation. All LibreDesk instances running vulnerable versions are affected.

💻 Affected Systems

Products:
  • LibreDesk
Versions: All versions prior to 0.8.6-beta
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the default configuration of affected versions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could inject malicious forms to steal credentials, perform CSRF attacks to modify user accounts or settings, or create convincing phishing pages within the legitimate application interface.

🟠

Likely Case

Attackers with access to the contact notes feature could inject phishing forms or malicious images to trick users into revealing credentials or performing unintended actions.

🟢

If Mitigated

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

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to the contact notes feature and ability to intercept/modify API requests. The technique is straightforward once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.8.6-beta

Vendor Advisory: https://github.com/abhinavxd/libredesk/security/advisories/GHSA-wh6m-h6f4-rjf4

Restart Required: Yes

Instructions:

1. Backup your LibreDesk instance and database. 2. Update to version 0.8.6-beta or later. 3. Restart the LibreDesk service. 4. Verify the fix by testing the contact notes functionality.

🔧 Temporary Workarounds

Input Validation Web Application Firewall Rule

all

Configure WAF to block requests to /api/v1/contacts/*/notes that contain HTML tags or script elements

WAF-specific configuration required

Disable Contact Notes Feature

all

Temporarily disable the contact notes functionality if not essential

Modify application configuration or frontend to remove contact notes interface

🧯 If You Can't Patch

  • Implement strict Content Security Policy (CSP) headers to prevent execution of injected scripts
  • Monitor and audit all POST requests to /api/v1/contacts/*/notes for suspicious patterns

🔍 How to Verify

Check if Vulnerable:

Test by attempting to inject HTML via the contact notes API endpoint and checking if it renders as HTML rather than plain text.

Check Version:

Check LibreDesk version in web interface or via package manager: dpkg -l | grep libredesk or rpm -qa | grep libredesk

Verify Fix Applied:

After patching, attempt the same injection test - injected HTML should be properly sanitized and rendered as plain text.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /api/v1/contacts/*/notes with stripped <p> tags
  • Requests containing HTML form elements or script tags in contact notes

Network Indicators:

  • HTTP traffic to /api/v1/contacts/*/notes with unusual payloads
  • Modified API requests with Content-Type manipulation

SIEM Query:

source="libredesk" AND (url_path="/api/v1/contacts/*/notes" AND (request_body CONTAINS "<form" OR request_body CONTAINS "<img" OR request_body CONTAINS "<script"))

🔗 References

📤 Share & Export