CVE-2026-87013 in Open WebUI
Summary
by MITRE • 09/09/2026
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform. From 0.10.0 until 0.11.1, POST /api/v1/folders/{id}/update/parent allowed a user to place a folder under itself or one of its descendants, while the folder tree walks used by DELETE /api/v1/folders/{id} and POST /api/v1/folders/{id}/read did not track visited folder identifiers. An authenticated user could persist a parent cycle and start a request that consumed CPU and memory indefinitely, with the condition remaining stored until repaired. This issue is fixed in version 0.11.1.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 09/09/2026
The vulnerability identified within Open WebUI versions ranging from 0.10.0 to 0.11.1 represents a critical logic flaw related to folder hierarchy management, specifically affecting the integrity of parent-child relationships in the application's data structure. The core technical deficiency lies in two distinct areas: insufficient validation during structural updates and inadequate state tracking during traversal operations. When an authenticated user invokes the POST /api/v1/folders/{id}/update/parent endpoint, the server fails to verify whether the proposed new parent folder is already a descendant of the target folder or identical to it. This lack of cycle detection allows for the creation of circular references within the directory tree structure. Instead of rejecting such invalid configurations, the system persists these malformed relationships in its storage backend, effectively corrupting the logical hierarchy that subsequent operations rely upon.
The operational impact of this structural corruption is severe and manifests primarily through resource exhaustion attacks. The endpoints DELETE /api/v1/folders/{id} and POST /api/v1/folders/{id}/read utilize recursive tree-walking algorithms to traverse folder structures for deletion or access control checks. These traversal mechanisms do not maintain a record of visited node identifiers, meaning they lack any mechanism to detect when they have encountered a cycle. Consequently, if the circular reference created by the update endpoint is present in the database, these read and delete operations will enter an infinite loop. The application continues to consume CPU cycles and memory resources indefinitely as it attempts to traverse the non-terminating path. This behavior constitutes a classic Denial of Service condition, where a single authenticated request can degrade system performance or cause complete unavailability for all users by exhausting server resources.
From a classification perspective, this vulnerability aligns with CWE-835, which describes loops that never terminate due to missing cycle detection in graph traversal algorithms. It also relates closely to CWE-697 regarding incorrect comparison logic during structural updates. In the context of the MITRE ATT&CK framework, this flaw facilitates resource hijacking and can be leveraged for Denial of Service against application resources (T1499). The persistence of the malformed state means that the vulnerability is not transient; once triggered, it remains active until an administrator manually repairs the database or applies a software patch. This persistent nature increases the risk profile significantly, as any subsequent administrative action involving folder management could inadvertently trigger the infinite loop and crash the service.
Mitigation strategies must address both immediate remediation and long-term architectural improvements. The primary solution is to upgrade Open WebUI to version 0.11.1 or later, where these logic flaws have been corrected with proper cycle detection in update operations and visited-node tracking in traversal routines. For environments that cannot immediately patch the software, manual intervention is required to identify and remove any circular references within the folder database tables. Future development should enforce strict validation rules at the API layer to reject requests that would create cycles before they are persisted. Additionally implementing depth limits or maximum recursion thresholds for tree-walking operations can provide a secondary defense-in-depth measure against infinite loops, ensuring system stability even if logical errors occur in higher-level application code.