<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T19:53:02.793657+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-54010</id>
    <title>CVE-2026-54010 — Open WebUI: Forged chat-file link allows cross-user file read and deletion</title>
    <updated>2026-10-03T19:53:02.825749+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> open-webui</p>
<p>Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.6, Open WebUI lets an authenticated user attach arbitrary file_id values to their own chat message without checking whether they own or can read those files. If the attacker then shares that chat and grants themselves read access, has_access_to_file() treats the victim file as accessible through the shared chat, and the file endpoints read or delete the victim file. This vulnerability is fixed in 0.9.6.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-54010"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-vrhc-3fr6-pc3c</id>
    <title>GHSA-vrhc-3fr6-pc3c — Open WebUI: Forged chat-file link allows cross-user file read and deletion</title>
    <updated>2026-10-03T19:53:02.825979+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: open-webui</p>
<p>## Summary</p>
<p>Open WebUI `v0.9.5` lets an authenticated user attach arbitrary `file_id` values to their own chat message without checking whether they own or can read those files. If the attacker then shares that chat and grants themselves read access, `has_access_to_file()` treats the victim file as accessible through the shared chat, and the file endpoints read or delete the victim file.</p>
<p>## Impact</p>
<p>Security boundary crossed: file confidentiality and integrity.</p>
<p>An authenticated attacker who knows or obtains a victim `file_id` can make Open WebUI authorize, through an attacker-owned shared chat:</p>
<p>- reading the victim file via `GET /api/v1/files/{id}/content`, and
- deleting the victim file via `DELETE /api/v1/files/{id}`.</p>
<p>## Root Cause</p>
<p>Client-controlled message file IDs are persisted without file authorization checks:</p>
<p>```python
# backend/open_webui/main.py
await Chats.insert_chat_files(
    chat_id,
    user_message.get('id'),
    [
        file_item.get('id')
        for file_item in user_message_files
        if file_item.get('type') == 'file'
    ],
    user.id,
)
```</p>
<p>`insert_chat_files()` stores the provided IDs directly:</p>
<p>```python
# backend/open_webui/models/chats.py
ChatFileModel(
    user_id=user_id,
    chat_id=chat_id,
    message_id=message_id,
    file_id=file_id,
)
```</p>
<p>Later, file authorization trusts shared-chat associations:</p>
<p>```python
# backend/open_webui/utils/access_control/files.py
shared_chat_ids = await Chats.get_shared_chat_ids_by_file_id(file_id,…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-vrhc-3fr6-pc3c"/>
  </entry>
</feed>
