mirror of
https://github.com/open-webui/docs.git
synced 2026-03-27 13:28:37 +07:00
158 lines
18 KiB
Plaintext
158 lines
18 KiB
Plaintext
---
|
||
sidebar_position: 1500
|
||
title: "🛡️ Security Policy"
|
||
---
|
||
|
||
|
||
At Open WebUI, safeguarding the security and confidentiality of user data is our foremost concern. Our technical architecture and development processes are designed to minimize vulnerabilities and uphold the trust our stakeholders place in us. Regular assessments, codebase vetting, and systematic adoption of best practice methodologies ensure that security remains a central part of our project lifecycle.
|
||
|
||
We employ a mixture of automated and manual techniques to keep up with evolving threats, and are continuously improving our approach, including plans to integrate advanced static and dependency analysis tools. The focus is always on proactive risk management and responsible handling of any vulnerabilities reported.
|
||
|
||
## Supported Versions
|
||
|
||
| Version | Supported |
|
||
| ------- | ------------------ |
|
||
| main | :white_check_mark: |
|
||
| dev | :x: |
|
||
| others | :x: |
|
||
|
||
## Where and How to Report Security Vulnerabilities
|
||
|
||
:::info
|
||
|
||
Open WebUI’s community thrives because of people like you, people who care deeply about making software safer for everyone.
|
||
|
||
To ensure your findings truly help protect users and are addressed swiftly, please submit all security vulnerability reports **only** via our [official GitHub security page](https://github.com/open-webui/open-webui/security). Any other website, service, or so-called “bounty” platform is ***not* affiliated** with us, and your important work will simply not reach those who can make a difference.
|
||
|
||
We know it can be tempting to trust platforms that make big promises, but only GitHub connects you directly to those safeguarding Open WebUI. Let’s ensure your vigilance genuinely benefits the community, report here, where it really matters.
|
||
|
||
:::
|
||
|
||
**All security vulnerabilities for Open WebUI must be reported exclusively through our official GitHub repository: [https://github.com/open-webui/open-webui/security](https://github.com/open-webui/open-webui/security).**
|
||
|
||
We are committed to maintaining a secure environment by ensuring that all security vulnerability reports are managed exclusively through our official GitHub platform. By handling disclosures centrally on GitHub, we guarantee that every report is processed transparently, efficiently, and confidentially by the project maintainers. This approach allows us to provide contributors and users with the highest level of visibility, accountability, and assurance that all security-related communications and resolutions are thoroughly documented and reliably managed. Reports submitted through any platform, channel, or third-party service outside of GitHub cannot be incorporated into our official security workflow and, as a result, may not able to contribute to the safety of Open WebUI.
|
||
|
||
### Why Only GitHub?
|
||
|
||
Our commitment to a single, central reporting mechanism is rooted in both technical rigor and ethical stewardship:
|
||
|
||
- **Integrity and Traceability:** Managing reports solely via GitHub ensures every issue is handled within the open-source ecosystem, where the community can verify the process, outcomes, and accountability of contributors.
|
||
- **User Safety:** Other websites claiming to facilitate vulnerability disclosure, offer rewards, or bounty programs are not affiliated with Open WebUI. Submitting vulnerabilities to such platforms not only fails to make the project safer but can unintentionally place sensitive details at risk of misuse or unauthorized disclosure.
|
||
- **Protecting the Community:** When information bypasses our centralized security workflow, the project becomes more susceptible not just to unfixed exploits, but also to the spread of misleading or exploitative practices. Despite claims by outside sites to act as intermediaries or pay bounties, these entities offer no guarantees to users and may encourage questionable or unsafe behavior under the guise of incentivization. Ultimately, only disclosures made via our GitHub ensure that your expertise benefits the entire ecosystem as intended.
|
||
|
||
## Reporting Guidelines
|
||
|
||
**[You can find the latest version of the security guidelines here.](https://github.com/open-webui/open-webui/security)**
|
||
|
||
To ensure constructive, actionable reports that genuinely improve security, all submissions must meet the following requirements:
|
||
|
||
1. **Report MUST be a vulnerability**: A security vulnerability is an exploitable weakness where the system behaves in an unintended way, allowing attackers to bypass security controls, gain unauthorized access, execute arbitrary code, or escalate privileges. Configuration options, missing features, and expected protocol behavior are not vulnerabilities.
|
||
|
||
2. **No Vague Reports**: Submissions such as "I found a vulnerability" without any details will be treated as spam and will not be accepted.
|
||
|
||
3. **In-Depth Understanding Required**: Reports must reflect a clear understanding of the codebase and provide specific details about the vulnerability, including the affected components and potential impacts.
|
||
|
||
4. **Proof of Concept (PoC) is Mandatory**: Each submission must include a well-documented proof of concept that demonstrates the vulnerability. A PoC must show what security boundary was crossed (Confidentiality, Integrity, Availability, Authenticity, Non-repudiation), how this vulnerability was abused, and what actions the attacker can now perform. Valid PoCs include step-by-step reproduction instructions with exact commands, complete exploit code with detailed execution instructions, or screenshots/videos demonstrating the exploit (supplementary to written steps). If confidentiality is a concern, reporters are encouraged to create a private fork of the repository and share access with the maintainers. Reports lacking valid evidence may be disregarded. We will notify you if we struggle to reproduce the exploit using your PoC, but if we repeatedly cannot reproduce it, the report may be closed.
|
||
|
||
5. **Remediation is required**: Along with the PoC, you must provide **either** a patch/PR **or** a remediation plan (actionable steps) that a maintainer can apply without guesswork. Your remediation guidance can include, for example: the likely root cause (what's wrong and where), the location(s) to change (file/module/function names if known), the recommended fix approach (validation/sanitization rules, auth checks, safe defaults, etc.), and any security tradeoffs or potential regressions to watch for.
|
||
|
||
6. **Streamlined Merging Process**: When vulnerability reports meet the above criteria, we can consider provided patches for immediate merging, similar to regular pull requests. Well-structured and thorough submissions will expedite the process of enhancing our security.
|
||
|
||
7. **Default Configuration Testing**: All vulnerability reports must be tested and reproducible using Open WebUI's out-of-the-box default configuration. Claims of vulnerabilities that only manifest with explicitly weakened security settings may be discarded. However, if you believe you have found a security issue that affects default configurations, represents a genuine bypass of intended security controls, or works only with non-default configurations but the configuration in question is likely to be used by production deployments, then we absolutely want to hear about it. This policy is intended to filter configuration issues and deployment problems, not to discourage legitimate security research.
|
||
|
||
8. **Threat Model Understanding Required**: Reports must demonstrate understanding of Open WebUI's self-hosted, authenticated, role-based access control architecture. Comparing Open WebUI to services with fundamentally different security models without acknowledging the architectural differences may result in report rejection.
|
||
|
||
9. **CVSS Scoring Accuracy**: If you include a CVSS score with your report, it must accurately reflect the vulnerability according to CVSS methodology. Common errors include rating PR:N (None) when authentication is required, scoring hypothetical attack chains instead of the actual vulnerability, or inflating severity without evidence. We will adjust inaccurate CVSS scores. Intentionally inflated scores may result in report rejection. If you cite other CVEs to support your report, ensure they are genuinely comparable in vulnerability type, threat model, and attack vector. Citing CVEs from different product categories, different vulnerability classes, or different deployment models will lead us to suspect the use of AI in your report.
|
||
|
||
10. **Admin Actions Are Out of Scope**: Vulnerabilities that require an administrator to actively perform unsafe actions are not considered valid vulnerabilities. Admins have full system control and are expected to understand the security implications of their actions and configurations. This includes but is not limited to adding malicious external servers (models, tools, webhooks), pasting untrusted code into Functions/Tools, or intentionally weakening security settings. Reports requiring admin negligence or social engineering of admins may be rejected. However, if you believe you have found a vulnerability that affects admins and is not caused by admin negligence or intentionally malicious actions, then we absolutely want to hear about it. This policy is intended to filter social engineering attacks on admins and similar malicious actions, not to discourage legitimate security research.
|
||
|
||
11. **AI Report Transparency**: Due to an extreme spike in AI-aided vulnerability reports, you must disclose if AI was used in any capacity—whether for writing the report, generating the PoC, or identifying the vulnerability. AI-aided vulnerability reports will not be rejected by default. However, if we suspect you used AI but did not disclose it to us, we will be asking tough follow-up questions to validate your understanding of the reported vulnerability and Open WebUI itself. If we suspect you used AI but you did not disclose it and your report ends up being invalid, not a vulnerability, or not reproducible, then you may be banned from reporting future vulnerabilities. This measure was necessary due to the extreme rise in clearly AI-written vulnerability reports where the vast majority were not vulnerabilities, were faulty configurations rather than real vulnerabilities, did not provide a PoC, violated the rules outlined here, had a clear lack of understanding of Open WebUI, wrote comments with conflicting information, or used illogical arguments.
|
||
|
||
Non-compliant submissions will be closed, and repeat extreme violators may be banned. Our goal is to foster a constructive reporting environment where quality submissions promote better security for all users. Contributors who not only identify a vulnerability but also present a robust, ready-to-merge fix help accelerate our response and strengthen the community.
|
||
|
||
If you feel like you are not able to follow all outlined requirements for vulnerability-specific reasons, still do report it—we will check every report either way.
|
||
|
||
## Expected Response Timeframe
|
||
|
||
Due to the volume of incoming vulnerability reports, issues, discussions, pull requests, and general project maintenance — lately compounded by a large number of invalid AI-generated reports (see AI report transparency above) — our capacity to respond is limited. Open WebUI is a community-driven project maintained by a small team, and security reports are handled alongside all other project responsibilities.
|
||
|
||
**Please expect several weeks** for your report to be triaged, investigated, fixed, and published. While we aim to respond to every report as quickly as possible, it is normal to experience periods of silence lasting up to several weeks. **This does not mean your report has been ignored** — it means we have not yet had the capacity to address it. The entire process can realistically take multiple weeks from initial submission to final publication. We appreciate your patience and understanding.
|
||
|
||
## Confidential Disclosure
|
||
|
||
Vulnerability reports submitted through GitHub Security Advisories are **private and confidential**. Public disclosure of **ANY** details related to a submitted vulnerability report is **STRICTLY PROHIBITED** until the advisory has been **fully published** — not merely when a CVE ID has been assigned, but when the advisory itself is publicly visible.
|
||
|
||
This prohibition applies to **all channels**, including but not limited to:
|
||
|
||
- Comments on pull requests, issues, or discussions (on GitHub or elsewhere)
|
||
- Social media, blogs, forums, or any other website
|
||
- Discord, Reddit, or any other platform, website or service
|
||
|
||
Premature disclosure undermines the security of all Open WebUI users and **violates the trust** inherent in the responsible disclosure process. **Reporters who publicly disclose vulnerability details before official publication <ins>may be permanently banned from future reporting.</ins>**
|
||
|
||
## For Non-Vulnerability Related Security Concerns
|
||
|
||
If your concern does not meet the vulnerability requirements outlined above, is not a vulnerability, but is still related to security concerns, then use the following channels instead:
|
||
|
||
- **Documentation issues/improvement ideas**: Open an issue in our [Documentation Repository](https://github.com/open-webui/docs)
|
||
- **Feature requests**: Create a discussion in [GitHub Discussions - Ideas](https://github.com/open-webui/open-webui/discussions/) to discuss with the community if this feature request is wanted by multiple people
|
||
- **Configuration help**: Ask the community for help and guidance on our [Discord Server](https://discord.gg/5rJgQTnV4s) or on [Reddit](https://www.reddit.com/r/OpenWebUI/)
|
||
- **General issues**: Use our [Issue Tracker](https://github.com/open-webui/open-webui/issues)
|
||
|
||
Examples of non-vulnerability, still security-related concerns include suggestions for better default configuration values, security hardening recommendations, deployment best practices guidance, unclear configuration instructions, need for additional security documentation, feature requests for optional security enhancements (2FA, audit logging, etc.), and general security questions about production deployment. Please use the adequate channel for your specific issue.
|
||
|
||
## Tools, Functions, and Pipelines Security
|
||
|
||
Open WebUI provides powerful extensibility through **Tools**, **Functions** (including Pipes, Filters, and Actions), and **Pipelines**. These features allow you to extend Open WebUI's capabilities with custom Python code. However, this power comes with security responsibilities.
|
||
|
||
:::warning
|
||
|
||
**Tools, Functions, and Pipelines execute arbitrary Python code on your server.** This is intentional—it's what makes them powerful. However, this means they have the same level of access as the Open WebUI backend process itself.
|
||
|
||
:::
|
||
|
||
### Security Implications
|
||
|
||
When you install a Tool, Function, or Pipeline, you are granting it the ability to:
|
||
|
||
- **Access the file system** — read or write any files the backend process can access
|
||
- **Make network requests** — connect to external services, potentially exfiltrating data
|
||
- **Execute system commands** — run shell commands via subprocess
|
||
- **Access environment variables** — read API keys, secrets, and configuration
|
||
- **Modify the database** — access or alter stored data
|
||
- **Consume compute resources** — run CPU-intensive operations
|
||
|
||
### Best Practices
|
||
|
||
| Practice | Description |
|
||
|----------|-------------|
|
||
| **Only install from trusted sources** | Only use Tools/Functions from the official community library or sources you trust |
|
||
| **Review code before installing** | Read and understand what a Tool/Function does before importing it |
|
||
| **Restrict Workspace access** | Only grant Workspace permissions to trusted administrators |
|
||
| **Audit installed plugins** | Regularly review installed Tools (Workspace → Tools) and Functions (Admin Panel → Functions) |
|
||
| **Protect your data directory** | The `/app/backend/data` directory contains your database and cached plugins—protect it from unauthorized access |
|
||
| **Monitor resource usage** | Watch for unexpected CPU spikes that could indicate cryptomining or other abuse |
|
||
| **Use official Docker images** | Only pull from `ghcr.io/open-webui/open-webui` or `openwebui/open-webui` (Docker Hub)—unofficial images may be compromised |
|
||
|
||
### What Is NOT a Vulnerability
|
||
|
||
The following scenarios are **not** considered vulnerabilities because they require administrator action (see also [Admin Actions Are Out of Scope](#reporting-guidelines) and [Threat Model Understanding](#reporting-guidelines) in the reporting guidelines above):
|
||
|
||
- An admin installing a malicious Tool or Function
|
||
- An admin granting Workspace access to an untrusted user
|
||
- An admin importing code from an untrusted source
|
||
- An attacker with write access to the data volume injecting malicious plugins
|
||
|
||
More generally, **reports describing ANY attack chain that involves Tools or Functions — including but not limited to code execution, file access, network requests, or environment variable access — will be closed as not a vulnerability / intended behavior.** If an administrator grants Tool permissions to untrusted users, this constitutes intentional misconfiguration.
|
||
|
||
These scenarios represent **admin negligence** or **environment compromise**, not vulnerabilities in Open WebUI itself. See [our Security Policy](https://github.com/open-webui/open-webui/security) and the [Plugin Security documentation](/features/extensibility/plugin/) for details.
|
||
|
||
## Product Security Process
|
||
|
||
- Internal and periodic external reviews of our architecture and pipelines
|
||
- Automated and manual testing for both front-end and back-end
|
||
- Proactive risk management and code reviews as part of ongoing development
|
||
- Continuous improvements and integration of advanced tooling for static/dynamic analysis
|
||
|
||
If you have an immediate and actionable security concern, please create a report in our [security advisory portal](https://github.com/open-webui/open-webui/security/advisories) or [issue tracker](https://github.com/open-webui/open-webui/issues).
|