CVE-2026-54025

Source
https://cve.org/CVERecord?id=CVE-2026-54025
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54025.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-54025
Aliases
  • GHSA-3phr-62qf-cxf3
Published
2026-06-25T15:53:17.026Z
Modified
2026-08-12T03:51:23.032749463Z
Severity
  • 5.4 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N CVSS Calculator
Summary
LibreChat: Stored XSS via unescaped image alt text in markdown artifact preview
Details

LibreChat is an enhanced ChatGPT clone that supports multiple AI providers. Prior to 0.8.4-rc1, there is a vulnerability in LibreChat's markdown artifact preview pipeline. The marked library v15.0.12 does not HTML-escape double-quote characters in image alt text when a custom renderer falls through to the default renderer. LibreChat's generateMarkdownHtml function (in client/src/utils/markdown.ts) installs a custom image renderer that returns false for URLs passing the isSafeUrl allowlist check, which causes marked to fall back to its built-in renderer. That built-in renderer inserts the raw alt text into the alt="..." attribute without escaping double-quote characters. An attacker can craft an alt text such as " onload="payload to break out of the attribute and inject an arbitrary event handler. The resulting HTML is then assigned to document.getElementById('content').innerHTML inside the Sandpack preview iframe, causing the payload to execute in the victim's browser. This vulnerability is fixed in 0.8.4-rc1.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54025.json",
    "cwe_ids": [
        "CWE-79"
    ],
    "cna_assigner": "GitHub_M"
}
References

Affected packages

Git / github.com/danny-avila/librechat

Affected ranges

Type
GIT
Repo
https://github.com/danny-avila/librechat
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "source": [
        "AFFECTED_FIELD",
        "CPE_RANGE"
    ],
    "cpe": "cpe:2.3:a:librechat:librechat:*:*:*:*:*:*:*:*",
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "0.8.4-rc1"
        },
        {
            "last_affected": "0.7.8"
        }
    ]
}

Affected versions

chart-1.*
chart-1.9.0
chart-1.9.1
chart-1.9.2
chart-1.9.3
chart-1.9.4
chart-1.9.5
chart-1.9.6
chart-1.9.7
chart-1.9.8
chart-1.9.9
chart-2.*
chart-2.0.0
chart-2.0.1
librechat-1.*
librechat-1.8.9
v0.*
v0.0.1
v0.0.2
v0.0.3
v0.0.6
v0.1.0
v0.1.1
v0.2.0
v0.3.0
v0.3.3
v0.4.0
v0.4.1
v0.4.2
v0.4.3
v0.4.4
v0.4.5
v0.4.6
v0.4.7
v0.4.8
v0.5.0
v0.5.1
v0.5.2
v0.5.3
v0.5.4
v0.5.5
v0.5.6
v0.5.7
v0.5.8
v0.5.9
v0.6.0
v0.6.1
v0.6.10
v0.6.5
v0.6.6
v0.6.9
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.3-rc
v0.7.3-rc2
v0.7.4
v0.7.4-rc1
v0.7.5
v0.7.5-rc1
v0.7.5-rc2
v0.7.6
v0.7.6-rc1
v0.7.7
v0.7.7-rc1
v0.7.8
v0.7.8-rc1
v0.7.9
v0.7.9-rc1
v0.8.0
v0.8.0-rc1
v0.8.0-rc2
v0.8.0-rc3
v0.8.0-rc4
v0.8.1
v0.8.1-rc1
v0.8.1-rc2
v0.8.2
v0.8.2-rc1
v0.8.2-rc2
v0.8.2-rc3
v0.8.3
v0.8.3-rc1
v0.8.3-rc2

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-54025.json"