Leantime, Cross-Site Scripting (XSS), CVE-2025-XXXX (Moderate)

Listen to this Post

The CVE-2025-XXXX vulnerability in Leantime v3.2.1 and earlier stems from improper neutralization of HTML tags in the `first name` field during the `processMentions()` function. An authenticated attacker can inject malicious JavaScript payloads, which are then executed in the victim’s browser when the field is rendered. This stored XSS attack allows arbitrary code execution, session hijacking, or data theft. The vulnerability occurs due to insufficient input sanitization before user-supplied content is processed and embedded in the application’s output.

DailyCVE Form

Platform: Leantime
Version: ≤3.2.1
Vulnerability: Stored XSS
Severity: Moderate
Date: 2025-03-28

What Undercode Say:

Exploitation:

1. Attacker logs into Leantime.

2. Inserts `` into the first name field.

  1. Victim views the manipulated field, triggering payload execution.

Protection:

1. Sanitize user input with:

htmlspecialchars($input, ENT_QUOTES, 'UTF-8');

2. Implement Content Security Policy (CSP):

Content-Security-Policy: default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval'

3. Update to Leantime v3.2.2+.

Analytics:

  • Attack Vector: Web-based (authenticated)
  • Impact: Data theft, session hijacking
  • Patch: GitHub Advisory GHSA-95j3-435g-vjcp

Commands:

  • Check version:
    grep "version" /var/www/leantime/config/appSettings.php
    
  • Temporary mitigation (Apache):
    <LocationMatch "/leantime">
    Header set X-XSS-Protection "1; mode=block"
    </LocationMatch>
    

Exploit PoC:

fetch('/updateProfile', {
method: 'POST',
body: 'firstName=<script>exfiltrate()</script>'
});

Log Analysis:

grep -r "processMentions" /var/log/leantime/

Remediation Code:

// Sanitize before processing
$firstName = filter_var($_POST[bash], FILTER_SANITIZE_STRING);

References:

  • GitHub Advisory: GHSA-95j3-435g-vjcp
  • NVD Entry: CVE-2025-XXXX

References:

Reported By: https://github.com/advisories/GHSA-jf6p-4hgv-v6qh
Extra Source Hub:
Undercode

Join Our Cyber World:

💬 Whatsapp | 💬 TelegramFeatured Image

Scroll to Top