Leantime has HTML injection through firstname and lastname fields
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-79.
Summary
### Summary Leantime v2.3.27 is vulnerable to Stored HTML Injection. The `firstname` and `lastname` fields in the admin user edit page are rendered without HTML escaping, allowing an authenticated user to inject arbitrary HTML that executes when the profile is viewed. ### Vulnerable File `app/Domain/Users/Templates/editUser.tpl.php` ### Vulnerable Code (Lines ~14-17) ```php value="<?php echo $values['firstname'] ?>" value="<?php echo $values['lastname'] ?>" ``` These fields output raw user input without sanitization. ### Steps to Reproduce 1. Login as admin > Go to Settings > Users > Edit any user 2. Enter HTML payload in First Name or Last Name field: `<h1>INJECTED</h1>` 3. Save the user profile 4. Create or view an article — the injected HTML renders in the author name ### Fix Replace unescaped `echo` with `htmlspecialchars()`: ```php value="<?php echo htmlspecialchars($values['firstname'], ENT_QUOTES, 'UTF-8') ?>" value="<?php echo htmlspecialchars($values['lastname'], ENT_QUOTES, 'UTF-8') ?>" ``` Or use the existing `$this->e()` helper already used in `editOwn.tpl.php`. ### Impact - Stored HTML injection visible to all users viewing affected content - Can be used for phishing, fake login forms, and UI defacement - Affects all versions before 3.3.0
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | leantime/leantime (Packagist) | before 3.3.0 | 3.3.0 | Patch available | GHSA-qrfh-cc86-vc8c |
- leantime/leantime (Packagist) Vendor— Affected before 3.3.0 Fixed in 3.3.0 Patch available GHSA-qrfh-cc86-vc8c
Remediation
- Fix · GHSA-qrfh-cc86-vc8c leantime/leantime (Packagist) Fixed in 3.3.0 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-qrfh-cc86-vc8c
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences