CVE-2026-44549: Open WebUI: Stored XSS in excel file preview

Published May 8, 2026
·
Updated

Summary Excel file attachments are previewed in an unsafe way. A crafted XLSX file payload can be used to cause the sheetjs function sheettohtml to embed an XSS payload into the generated HTML. This is subsequently added to the DOM unsanitized via @html causing the payload to trigger.

Details The function used to convert XLSX documents to HTML for preview does not perform any input validation or sanitisation for the generated HTML https://github.com/open-webui/open-webui/blob/a7271532f8a38da46785afcaa7e65f9a45e7d753/src/lib/components/common/FileItemModal.svelte#L120-L133 XLSX attachments are processed by this function, converted to HTML with XLSX.utils.sheettohtml before ultimately being assigned to the variable excelHtml. Later there is logic that causes this to be assigned directly to the DOM when the preview tab is selected. https://github.com/open-webui/open-webui/blob/a7271532f8a38da46785afcaa7e65f9a45e7d753/src/lib/components/common/FileItemModal.svelte#L358-L400

PoC A python script to generate a payload file is as follows: python import xlsxwriter payload = '<img src=x onerror="alert(\'XSS Triggered by XLSX file\')">' workbook = xlsxwriter.Workbook('xsspayload.xlsx') worksheet = workbook.addworksheet() payloadformat = workbook.addformat() worksheet.writerichstring('A1', 'This cell contains a hidden payload: ', payloadformat, payload ) worksheet.write('A2', 'This is a safe cell.') worksheet.write('B1', 'Column B') workbook.close()

Upload the generated file as an attachment to a chat, open the file modal, and click preview. Observe the XSS triggers. <img width="2444" height="1386" alt="image" src="https://github.com/user-attachments/assets/8400efb0-ea6f-4878-abdb-4c2fe529241f" /> This same process can be triggered in shared chats, allowing the payload to be distributed to victims. <img width="2386" height="1646" alt="image" src="https://github.com/user-attachments/assets/d0eda49c-8fcf-4fc4-bbb0-c8951b0369c3" />

Impact Any user can create a weaponised chat that can be shared and subsequently used to target other users.

Low privilege users are at risk of having their session taken over by a payload that reads their token from local storage and exfiltrates it to an attacker controlled server.

Admins are at risk of exposing the server to RCE via same chain described in GHSA-w7xj-8fx7-wfch.

Caveats The file attachment in the shared chat must be opened and previewed to trigger the vulnerability.

Recommendation Sanitise the generated HTML with DOMPurify before assigning it to the DOM.

Other sources

Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.8.0, Excel file attachments are previewed in an unsafe way. A crafted XLSX file payload can be used to cause the sheetjs function sheettohtml to embed an XSS payload into the generated HTML. This is subsequently added to the DOM unsanitized via @html causing the payload to trigger. This vulnerability is fixed in 0.8.0.

MITRE

Affected Software

2 affected componentsFixes available
pip/open-webui<=0.7.2
0.8.0
openwebui Open WebUI<0.8.0

Event History

May 8, 2026
Advisory Published
via GitHub·10:26 PM
Data Sourced
via GitHub·10:26 PM
DescriptionSeverityWeaknessAffected Software
May 15, 2026
CVE Published
via MITRE·09:45 PM
Data Sourced
via MITRE·09:45 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:16 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-44549?

The severity of CVE-2026-44549 has not been explicitly rated, but it poses a security risk due to unsafe previewing of Excel file attachments.

2

How do I fix CVE-2026-44549?

To fix CVE-2026-44549, upgrade to open-webui version 0.8.0 or later.

3

What type of vulnerability is CVE-2026-44549?

CVE-2026-44549 is a vulnerability related to improper handling and previewing of crafted XLSX file attachments.

4

Which versions of open-webui are affected by CVE-2026-44549?

Versions up to and including 0.7.2 of open-webui are affected by CVE-2026-44549.

5

What can exploit CVE-2026-44549?

A crafted XLSX file payload can exploit CVE-2026-44549 to potentially cause unintended behavior when previewed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203