Aller au contenu
Interface IA

Open WebUI : fiche détaillée

Modèle de permissions (admin/user/pending, groupes, knowledge privées, permissions additives sans deny), variables d'environnement clés, défauts du RAG intégré, branchement d'un RAG externe, CVE 2026 et limites pour un cabinet.

Hypothèse#open-webui#permissions#sso#rag#securitePublié le 16 sept. 2026Mis à jour le 16 sept. 2026Vérifié le 16 sept. 2026À revérifier le 15 déc. 2026

L'essentiel

  • Trois rôles (admin, user, pending), des groupes, des permissions additives : « True takes precedence over False », aucun « deny ». Bonne pratique documentée : tout désactiver globalement, accorder par groupe 3.
  • Les knowledge bases peuvent être « Private » avec des grants read/write par groupe ou utilisateur ; l'admin dispose d'un « Preview Access » qui montre les droits effectifs d'un utilisateur.
  • Les défauts du RAG intégré sont inadaptés au français et à la sécurité : Chroma, all-MiniLM-L6-v2 (anglais, 384 dimensions), hybride désactivé, 3 passages, chunks de 1 000 caractères 2.
  • Quatre CVE de contrôle d'accès documentaire en 2026 (44560, 45402, 54016, 70488), corrigées de 0.9.0 à 0.11.0 : le contrôle est applicatif et a été contourné plusieurs fois. Le RAG de la Box doit fournir sa propre barrière.
  • Licence : BSD-3 modifiée depuis 0.6.6, branding intouchable sauf déploiements de 50 utilisateurs finals au plus ; sans contrainte pour un cabinet 1.

Licence

Texte du LICENSE : interdiction « from altering, removing, obscuring, or replacing any "Open WebUI" branding », sauf (i) « deployments or distributions where the total number of end users (defined as individual natural persons with direct access to the application) does not exceed fifty (50) within any rolling thirty (30) day period », (ii) permission écrite, (iii) licence entreprise. Effectif depuis la v0.6.6 du 19 avril 2025 ; le code jusqu'à 0.6.5 reste BSD-3 pur ; les versions suivantes ne sont plus certifiées OSI 1. Pour un cabinet de 5 à 10 personnes : aucune contrainte. Pour une Box en marque blanche : licence entreprise à négocier, coût non connu.

Modèle de permissions

Rôles et comptes

  • admin : tout ; user : usage ; pending : compte créé mais non validé (rôle par défaut des nouveaux comptes, DEFAULT_USER_ROLE = pending) 2.
  • Inscription : ENABLE_SIGNUP à désactiver ; création de comptes via SSO avec ENABLE_OAUTH_SIGNUP (défaut False) une fois l'IdP branché.

Catégories de permissions

Workspace (Models, Knowledge, Prompts, Tools, Skills), Sharing (public, vers utilisateurs et groupes), Chat (upload de fichiers, upload web, suppression, édition, chat temporaire, export/import), Features (Web Search, Image Generation, Code Interpreter, Direct Tool Servers, Memories, Automations, Calendar, API Keys), Settings 3.

Règle d'agrégation

« A user's effective permissions are the combination of Global Defaults and all their Group Memberships. True takes precedence over False » et « You cannot use a specific group to "take away" a permission that is granted by another group or by the global defaults » 3. Conséquence : le seul schéma sûr est tout à False dans les défauts globaux, puis des groupes qui accordent. Un groupe « secrétariat » ne peut pas retirer un droit accordé par défaut.

Groupes

Créés à la main ou synchronisés depuis l'IdP : ENABLE_OAUTH_GROUP_MANAGEMENT, claim OAUTH_GROUPS_CLAIM (défaut groups), ENABLE_OAUTH_GROUP_CREATION ; « Users are strictly added/removed from groups to match their OAuth claims » 3. C'est le point d'ancrage avec l'identité : un groupe Entra ID « dossier-A » devient un groupe Open WebUI.

Knowledge privées et grants

Chaque modèle ou knowledge base peut être « Private » avec des grants « Resource, Principal (group or user), Permission (read or write) ». Visibilité d'un groupe : Anyone / Members / No one. L'admin dispose de « Preview Access » qui « resolves every access grant for a specific user or group and lists the result in one place » (API /api/v1/users/…/preview, /api/v1/groups/id/…/preview) 3.

Limite de gouvernance (communauté, discussion #15100 ouverte depuis le 18/06/2025) : tout membre d'un groupe peut partager une ressource qu'il crée avec tout le groupe, sans contrôle fin 3 Communauté.

Variables d'environnement clés

Valeurs par défaut lues dans backend/open_webui/config.py (branche main au 16/09/2026) et la documentation 2 4.

VariableDéfautRéglage Box (hypothèse)
WEBUI_AUTHTrueTrue, toujours
ENABLE_SIGNUPTrue (docs)False
DEFAULT_USER_ROLEpendingpending
ENABLE_OAUTH_SIGNUPFalseTrue, une fois l'IdP branché
OPENID_PROVIDER_URL / OAUTH_PROVIDER_NAME— ; un seul OIDC à la foisURL de découverte de l'IdP du cabinet
MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_TENANT_IDsi Entra ID direct (scope offline_access)
OAUTH_MERGE_ACCOUNTS_BY_EMAILFalseFalse (avertissement officiel : « Incorrect configuration can allow users to authenticate as any user »)
ENABLE_OAUTH_ROLE_MANAGEMENT / ENABLE_OAUTH_GROUP_MANAGEMENTFalse / FalseTrue / True, claim groups
ENABLE_LDAPFalseselon cabinet
WEBUI_AUTH_TRUSTED_EMAIL_HEADERvidevide, sauf proxy authentifiant qui écrase l'en-tête
ENABLE_SCIMoptionnel (provisioning)
VECTOR_DBchromapgvector ou qdrant (Q-004), ou sans objet si RAG externe
ENABLE_QDRANT_MULTITENANCY_MODETrueTrue si Qdrant
RAG_EMBEDDING_ENGINE / RAG_EMBEDDING_MODEL'' (sentence-transformers local) / all-MiniLM-L6-v2modèle multilingue (embeddings)
ENABLE_RAG_HYBRID_SEARCH / RAG_HYBRID_BM25_WEIGHTFalse / 0.5True / à régler
RAG_RERANKING_MODEL''bge-reranker-v2-m3
RAG_TOP_K / RAG_TOP_K_RERANKER3 / 38 à 10
RAG_RELEVANCE_THRESHOLD0.0à régler par l'évaluation
CHUNK_SIZE / CHUNK_OVERLAP / RAG_TEXT_SPLITTER1000 / 100 / '' (caractères)token, 512 / 64 en première approche
CONTENT_EXTRACTION_ENGINE''docling
RAG_FULL_CONTEXT / BYPASS_EMBEDDING_AND_RETRIEVALFalse / FalseFalse, verrouillés
ENABLE_GOOGLE_DRIVE_INTEGRATION / ENABLE_ONEDRIVE_INTEGRATIONdésactivés au POC

RAG intégré : ce qu'il fait et ses défauts

Fonctions : knowledge bases dans le Workspace, attachement de fichiers ou d'URL par #, recherche web, splitter par caractères ou tokens avec « Markdown header splitting » et « Chunk Min Size Target », hybride « BM25 keyword search plus vector similarity with CrossEncoder reranking », citations, mode agentic (le modèle interroge la knowledge via outils), extraction Tika / Docling / Mistral OCR, bases externes Qdrant / Milvus / pgvector 5.

Défauts à corriger avant tout usage en français : Chroma (le Cookbook communautaire juge l'approche multi-utilisateur naïve « not well suited for production ») 9, all-MiniLM-L6-v2 (anglais, 384 dimensions), hybride désactivé, reranker absent, 3 passages, chunks de 1 000 caractères 2.

Ce qui manque pour la cible : synchronisation depuis SMB/SharePoint avec propagation des ACL, métadonnées de dossier, citations page à page avec lien vers la pièce, évaluation, barrière moteur.

Brancher un RAG externe

Trois voies, à comparer dans l'expérimentation dédiée :

  1. Pipelines / Functions : un filtre Open WebUI intercepte la question, appelle le service RAG de la Box avec l'identité de l'utilisateur (issue de la session Open WebUI, elle-même issue du SSO), injecte les passages autorisés et les métadonnées de citation dans le prompt. Avantage : l'utilisateur garde l'interface Open WebUI. Risque : l'identité transmise doit être celle de la session, jamais un champ modifiable.
  2. Endpoint OpenAI-compatible : le service RAG de la Box se présente comme un « modèle » ; Open WebUI l'appelle comme un LLM ; le service fait recherche + génération et renvoie la réponse avec citations. Simple, isole complètement le RAG ; l'identité passe par un en-tête ou un jeton transmis par Open WebUI (à vérifier).
  3. Outil (tool server) : le LLM appelle un outil « rechercher dans mes dossiers » exposé par la Box. Souple, mais l'attaque de la CVE-2026-54016 visait précisément un outil de recherche acceptant un identifiant arbitraire 8 : l'outil ne doit accepter aucun identifiant de portée du côté modèle.

Dans les trois cas, la knowledge intégrée d'Open WebUI n'est plus utilisée pour les dossiers ; elle peut rester pour des documents publics (modèles d'actes, doctrine libre).

CVE 2026 et versions corrigées

CVEDateNatureVersions affectéesCorrigé enSource
CVE-2026-44560 (GHSA-h36f-rqpx-j5wx)05/05/2026, CVSS 6.5« Unauthorized File and Knowledge Base Content Access via RAG Vector Search » : trois chemins sur cinq sans vérification d'autorisation ; « Access revocation is ineffective for RAG content »≤ 0.8.120.9.07
CVE-2026-454022026file_id fourni par l'utilisateur sans vérification de propriété : exfiltration de fichiers privésavant 0.9.50.9.58
CVE-2026-5401617/06/2026, CVSS 4.3BOLA sur l'outil search_knowledge_files : knowledge_id arbitraireavant 0.9.60.9.68
CVE-2026-704882026, medium« incorrect authorization »≥ 0.9.6, ≤ 0.10.20.11.08
Release 0.11.2août 2026« Security Advisory: This release includes security and access-control fixes »0.11.26

Limites pour un cabinet

  • Contrôle d'accès documentaire applicatif, historique 2026 défavorable.
  • Un seul fournisseur OIDC générique à la fois 4 : suffisant pour un cabinet, gênant pour une Box multi-clients.
  • Pas de « deny » : la modélisation « tout fermé puis ouvrir » est obligatoire et fragile aux ajouts de fonctionnalités (chaque nouvelle permission arrive avec son défaut).
  • Partage intra-groupe non gouverné (discussion #15100).
  • Surface fonctionnelle large (web search, images, code interpreter, outils directs) à désactiver explicitement.
  • Pas de notion de dossier ni de citation page à page native : à apporter par le RAG externe et, à terme, par une interface propre.
  • Clause de branding au-delà de 50 utilisateurs ou pour une marque blanche.

Questions ouvertes

Ce qu'il reste à tester

Sources

  1. 1Open WebUI — Licence (clause de branding depuis v0.6.6)Documentation officielleFiabilité hauteOpen WebUI · publié 2025-04-19 (v0.6.6) · consulté le 16 sept. 2026 · fiche source
  2. 2Open WebUI — variables d'environnement (docs + config.py)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 (main) · consulté le 16 sept. 2026 · fiche source
  3. 3Open WebUI — permissions et groupes (RBAC)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
  4. 4Open WebUI — SSO (OAuth, OIDC, LDAP, trusted header)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
  5. 5Open WebUI — fonctions RAG (knowledge, hybride, extraction)Documentation officielleFiabilité hauteOpen WebUI · publié lu le 16/09/2026 · consulté le 16 sept. 2026 · fiche source
  6. 6Open WebUI — releases GitHub (v0.11.x)GitHubFiabilité moyenneOpen WebUI · publié v0.11.3 (31/08/2026 selon agrégateur) · consulté le 16 sept. 2026 · fiche source
  7. 7Open WebUI — Advisory GHSA-h36f-rqpx-j5wx / CVE-2026-44560 (accès non autorisé à des knowledge bases via la recherche vectorielle)GitHubFiabilité hauteOpen WebUI (GitHub Security Advisories) · publié 2026-05-05 · consulté le 16 sept. 2026 · fiche source
  8. 8Open WebUI — advisories 2026 (CVE-2026-44560, 54016, 45402, 70488)Article techniqueFiabilité moyenneGitLab Advisory DB / OpenCVE / Kodem / GitHub · publié 05/05/2026 à 2026 · consulté le 16 sept. 2026 · fiche source
  9. 9Chroma — multi-tenancy (Cookbook communautaire)ForumFiabilité moyenneChroma Cookbook (Amikos) · publié Chroma v1.5.8, 16/04/2026 · consulté le 16 sept. 2026 · fiche source
content/docs/interface/open-webui.md1665 mots