Średnia

Open WebUI's Mass Assignment via Pydantic extra='allow' Allows Creating Folders in Other Users' Accounts

  • Ujawniono: 08.05.2026
  • Aktualizacja: 11.10.2026 14:18

Mass Assignment via Pydantic extra='allow' Allows Creating Folders in Other Users' Accounts

Affected Component

Folder creation endpoint and form model:

  • backend/open_webui/models/folders.py (lines 72-77, FolderForm with extra='allow')
  • backend/open_webui/models/folders.py (lines 95-106, insert_new_folder dict construction)
  • backend/open_webui/routers/folders.py (line 119, create_folder endpoint)

Affected Versions

Current main branch (commit 6fdd19bf1) and likely all versions since FolderForm adopted extra='allow'.

Description

FolderForm uses model_config = ConfigDict(extra='allow'), which permits arbitrary fields to pass through Pydantic validation and be included in model_dump(exclude_unset=True). In insert_new_folder, the server-assigned user_id is placed at the start of the dict and then overwritten by the spread of form data:

python
# models/folders.py:95-106
folder = FolderModel(
    **{
        'id': id,                                              # server
        'user_id': user_id,                                    # server — overwritten below
        **(form_data.model_dump(exclude_unset=True) or {}),    # user-controlled (extra='allow')
        'parent_id': parent_id,
        'created_at': int(time.time()),
        'updated_at': int(time.time()),
    }
)

Because FolderModel declares user_id: str as a real field (not just a form extra), any attacker-supplied user_id in the POST body is accepted by the model and persisted on the Folder row.

Attack Scenario

  1. Attacker discovers a victim's user ID. User UUIDs commonly leak via the user search endpoint (GET /api/v1/users/search, intentionally accessible to verified users for sharing UI), shared chat metadata, or channel member lists.
  2. Attacker sends:
    POST /api/v1/folders/
    {
      "name": "Important: Click here",
      "user_id": "<victim_user_id>",
      "meta": {"icon": "warning"},
      "data": {...}
    }
  3. Pydantic accepts the extra user_id field (allowed by extra='allow').
  4. insert_new_folder spreads the form data over the server-set 'user_id': user_id, overwriting it with the attacker's value.
  5. The Folder row is persisted with user_id = <victim_user_id>.
  6. The victim sees the attacker-planted folder in their UI on next load because GET /api/v1/folders/ filters by the viewer's own user_id.

The attacker can repeat this to plant multiple folders, use crafted name values for phishing ("Click here to recover account" / "Security alert"), and abuse the meta and data fields to add visual elements that further mimic legitimate content.

Impact

  • Unauthorized write into victim's folder tree
  • Phishing surface: attacker-controlled name, meta, and data render in the victim's UI in a trusted context
  • DoS / spam: attacker can flood a victim with arbitrary folders; victim must manually delete each one
  • Attacker cannot read the folder back — all read paths filter by the caller's own user_id — so confidentiality is preserved, but integrity and trust are compromised

Preconditions

  • Attacker must have an authenticated account with features.folders permission (default for all users)
  • Attacker must know or guess the victim's user UUID (obtainable through various non-sensitive endpoints)

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Python (PyPI) open-webui < 0.9.0 0.9.0

Odnośniki

Ocena CVSS 5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N
Słabość (CWE)
CWE-862
Platforma
Python (PyPI)
Paczka
open-webui
Ujawniono
08.05.2026
Aktualizacja
11.10.2026 14:18

Źródła i licencje

OSV / GitHub Advisory Database - PYSEC-2026-2735 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-hr43-rjmr-7wmm - CC BY 4.0

Historia podatności: open-webui

Wszystkie opisane podatności tej paczki (Python (PyPI)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (161) w archiwum
Wszystkich wpisów
161
Pierwsza → ostatnia
08.2024 09.2026
Bez poprawki
11
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 1
  • Wysoka 77
  • Średnia 75
  • Niska 8

Ujawnienia w latach

  1. 2024: 3
  2. 2025: 21
  3. 2026: 137
Istotność:
  1. Wysoka · 8.7 CVE-2026-70492 >= 0.10.0, < 0.11.0 0.11.0
  2. Wysoka · 7.7 CVE-2026-59221 >= 0.9.6, < 0.10.0 0.10.0
  3. Wysoka · 7.3 CVE-2026-59214 < 0.10.0 0.10.0
  4. Wysoka · 7.3 CVE-2026-26192 < 0.7.0 0.7.0
  5. Wysoka · 7.6 CVE-2026-54013 < 0.9.6 0.9.6
  6. Wysoka · 8.7 CVE-2026-54011 < 0.9.6 0.9.6
  7. Wysoka · 7.1 CVE-2026-45349 < 0.9.0 0.9.0
  8. Wysoka · 7.7 CVE-2026-45303 < 0.6.5 0.6.5
  9. Wysoka · 8.3 CVE-2026-44570 < 0.6.19 0.6.19
  10. Wysoka · 7.1 CVE-2026-44569 < 0.6.19 0.6.19
  11. Wysoka · 8.1 CVE-2026-44565 < 0.6.10 0.6.10
  12. Wysoka · 8.3 CVE-2026-56400 < 0.3.33 0.3.33
  13. Wysoka · 7.3 CVE-2026-44566 < 0.1.124 0.1.124
  14. Wysoka · 7.3 CVE-2026-44567 < 0.1.124 0.1.124
  15. Wysoka · 7.3 CVE-2026-44549 < 0.8.0 0.8.0
  16. Open WebUI's Mass Assignment via Pydantic extra='allow' Allows Creating Folders in Other Users' Accounts ten wpis
    Średnia · 5.0 CVE-2026-44550 < 0.9.0 0.9.0
  17. Krytyczna · 9.1 CVE-2026-44551 < 0.9.0 0.9.0
Pokaż więcej (19) Widać 60 z 79

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.