<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 15:29:36 +0000</lastBuildDate>
    <item>
      <title>bdu:2026-14840</title>
      <link>https://db.gcve.eu/vuln/bdu:2026-14840</link>
      <description>bdu:2026-14840</description>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/bdu:2026-14840</guid>
    </item>
    <item>
      <title>fkie_cve-2026-88002</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-88002</link>
      <description>&lt;p&gt;Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.5.0 until 0.11.1, the message-chain reconstruction helper in backend/open_webui/utils/misc.py advanced through a chat history by map key but tracked visited entries using each message body&amp;#39;s optional id field. An authenticated user could store id-less messages in a parent cycle and trigger a non-terminating walk that blocked the async event loop, grew memory until termination, and remained persistent across process restarts. This issue is fixed in version 0.11.1.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.5.0 until 0.11.1, the message-chain reconstruction helper in backend/open_webui/utils/misc.py advanced through a chat history by map key but tracked visited entries using each message body&amp;#39;s optional id field. An authenticated user could store id-less messages in a parent cycle and trigger a non-terminating walk that blocked the async event loop, grew memory until termination, and remained persistent across process restarts. This issue is fixed in version 0.11.1.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-88002</guid>
    </item>
    <item>
      <title>GHSA-jqhh-cjmq-vmv6 — Open WebUI: Any authenticated user can hang the server via a cyclic chat message history</title>
      <link>https://db.gcve.eu/vuln/ghsa-jqhh-cjmq-vmv6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;## Summary
Chat histories are stored as an unvalidated JSON object. The walk that reconstructs a chat&amp;#39;s message chain detected repeats using each message&amp;#39;s own `id` field while moving through the history by map key, so a message that simply omitted `id` was never recorded as visited. A history whose messages referenced each other in a parent cycle therefore made the walk run forever. Any account with the default `user` role could store such a chat and trigger the walk, blocking the server for everyone.&lt;/p&gt;
&lt;p&gt;## Preconditions
One account with the default `user` role. No administrator rights, no additional permissions, no configuration change and no non-default setting: creating a chat is available to every user out of the box. The attack runs entirely against the attacker&amp;#39;s own chat, so no knowledge of any other user&amp;#39;s data is needed. Instances where every account is trusted are affected in the sense that the fault is reachable, but require a user acting deliberately.&lt;/p&gt;
&lt;p&gt;## Impact
The walk is synchronous and runs on the asyncio event loop, so while it spins, every request from every user is blocked, including unauthenticated `/health` and administrator endpoints. External health checks and orchestrator liveness probes fail alongside the UI. The list it appends to grows without bound, so a memory-capped deployment ends in an out-of-memory kill rather than a hang. The work is not cancelled when the client disconnects, so one fire-and-forget request is enough and the attacker can disco…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;## Summary
Chat histories are stored as an unvalidated JSON object. The walk that reconstructs a chat&amp;#39;s message chain detected repeats using each message&amp;#39;s own `id` field while moving through the history by map key, so a message that simply omitted `id` was never recorded as visited. A history whose messages referenced each other in a parent cycle therefore made the walk run forever. Any account with the default `user` role could store such a chat and trigger the walk, blocking the server for everyone.&lt;/p&gt;
&lt;p&gt;## Preconditions
One account with the default `user` role. No administrator rights, no additional permissions, no configuration change and no non-default setting: creating a chat is available to every user out of the box. The attack runs entirely against the attacker&amp;#39;s own chat, so no knowledge of any other user&amp;#39;s data is needed. Instances where every account is trusted are affected in the sense that the fault is reachable, but require a user acting deliberately.&lt;/p&gt;
&lt;p&gt;## Impact
The walk is synchronous and runs on the asyncio event loop, so while it spins, every request from every user is blocked, including unauthenticated `/health` and administrator endpoints. External health checks and orchestrator liveness probes fail alongside the UI. The list it appends to grows without bound, so a memory-capped deployment ends in an out-of-memory kill rather than a hang. The work is not cancelled when the client disconnects, so one fire-and-forget request is enough and the attacker can disco…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-jqhh-cjmq-vmv6</guid>
    </item>
    <item>
      <title>PYSEC-2026-3879 — Open WebUI: Any authenticated user can hang the server via a cyclic chat message history</title>
      <link>https://db.gcve.eu/vuln/pysec-2026-3879</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;## Summary
Chat histories are stored as an unvalidated JSON object. The walk that reconstructs a chat&amp;#39;s message chain detected repeats using each message&amp;#39;s own `id` field while moving through the history by map key, so a message that simply omitted `id` was never recorded as visited. A history whose messages referenced each other in a parent cycle therefore made the walk run forever. Any account with the default `user` role could store such a chat and trigger the walk, blocking the server for everyone.&lt;/p&gt;
&lt;p&gt;## Preconditions
One account with the default `user` role. No administrator rights, no additional permissions, no configuration change and no non-default setting: creating a chat is available to every user out of the box. The attack runs entirely against the attacker&amp;#39;s own chat, so no knowledge of any other user&amp;#39;s data is needed. Instances where every account is trusted are affected in the sense that the fault is reachable, but require a user acting deliberately.&lt;/p&gt;
&lt;p&gt;## Impact
The walk is synchronous and runs on the asyncio event loop, so while it spins, every request from every user is blocked, including unauthenticated `/health` and administrator endpoints. External health checks and orchestrator liveness probes fail alongside the UI. The list it appends to grows without bound, so a memory-capped deployment ends in an out-of-memory kill rather than a hang. The work is not cancelled when the client disconnects, so one fire-and-forget request is enough and the attacker can disco…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: open-webui&lt;/p&gt;
&lt;p&gt;## Summary
Chat histories are stored as an unvalidated JSON object. The walk that reconstructs a chat&amp;#39;s message chain detected repeats using each message&amp;#39;s own `id` field while moving through the history by map key, so a message that simply omitted `id` was never recorded as visited. A history whose messages referenced each other in a parent cycle therefore made the walk run forever. Any account with the default `user` role could store such a chat and trigger the walk, blocking the server for everyone.&lt;/p&gt;
&lt;p&gt;## Preconditions
One account with the default `user` role. No administrator rights, no additional permissions, no configuration change and no non-default setting: creating a chat is available to every user out of the box. The attack runs entirely against the attacker&amp;#39;s own chat, so no knowledge of any other user&amp;#39;s data is needed. Instances where every account is trusted are affected in the sense that the fault is reachable, but require a user acting deliberately.&lt;/p&gt;
&lt;p&gt;## Impact
The walk is synchronous and runs on the asyncio event loop, so while it spins, every request from every user is blocked, including unauthenticated `/health` and administrator endpoints. External health checks and orchestrator liveness probes fail alongside the UI. The list it appends to grows without bound, so a memory-capped deployment ends in an out-of-memory kill rather than a hang. The work is not cancelled when the client disconnects, so one fire-and-forget request is enough and the attacker can disco…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/pysec-2026-3879</guid>
    </item>
  </channel>
</rss>
