/api/version/updates is publicly exposed with no authentication requirements #3558

Closed
opened 2025-11-11 15:33:54 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @jamie1911 on GitHub (Feb 3, 2025).

Bug Report


Installation Method

docker run -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.1.120:11434 -v /etc/open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui

Environment

  • Open WebUI Version: 0.5.7

  • Operating System: Ubuntu 24.04

Confirmation:

  • I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:

If you curl the sites version while being an unauthenticated anonymous user, you get denied:

curl https://aibot.mysite.com/api/version/updates
{"detail":"Not authenticated"}

Actual Behavior:

Using an unauthenticated curl call, the server fetches information from github.com and then displays the current vs latest version.

curl https://aibot.mysite.com/api/version/updates
{
    "current": "0.5.7",
    "latest": "0.5.7"
}

Description

Bug Summary:
For sites that publicly expose their open-webui, unauthenticated requests should not be allowed to access API routes that cause the server to connect to third-party services. Allowing such calls could potentially trigger a DDoS scenario—either locally or by causing GitHub to rate-limit the outbound IP of the running instance(s). You can see an example of the affected code here:
https://github.com/open-webui/open-webui/blob/main/backend/open_webui/main.py#L1075-L1077

Additionally, there is an information disclosure issue. Although displaying the version number is not inherently a security vulnerability, it does provide attackers with the specific version in use, which could help them quickly determine if there is an exploitable vulnerability.

This is also apparent in the /api/version route:
https://github.com/open-webui/open-webui/blob/main/backend/open_webui/main.py#L1058C11-L1062

Originally created by @jamie1911 on GitHub (Feb 3, 2025). # Bug Report --- ## Installation Method ``` docker run -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.1.120:11434 -v /etc/open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui ``` ## Environment - **Open WebUI Version:** 0.5.7 - **Operating System:** Ubuntu 24.04 **Confirmation:** - [x] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below. ## Expected Behavior: If you curl the sites version while being an unauthenticated anonymous user, you get denied: ``` curl https://aibot.mysite.com/api/version/updates {"detail":"Not authenticated"} ``` ## Actual Behavior: Using an unauthenticated curl call, the server fetches information from github.com and then displays the current vs latest version. ``` curl https://aibot.mysite.com/api/version/updates { "current": "0.5.7", "latest": "0.5.7" } ``` ## Description **Bug Summary:** For sites that publicly expose their open-webui, unauthenticated requests should not be allowed to access API routes that cause the server to connect to third-party services. Allowing such calls could potentially trigger a DDoS scenario—either locally or by causing GitHub to rate-limit the outbound IP of the running instance(s). You can see an example of the affected code here: https://github.com/open-webui/open-webui/blob/main/backend/open_webui/main.py#L1075-L1077 Additionally, there is an information disclosure issue. Although displaying the version number is not inherently a security vulnerability, it does provide attackers with the specific version in use, which could help them quickly determine if there is an exploitable vulnerability. This is also apparent in the `/api/version` route: https://github.com/open-webui/open-webui/blob/main/backend/open_webui/main.py#L1058C11-L1062
Author
Owner

@tjbck commented on GitHub (Feb 3, 2025):

c85ce07f92

@tjbck commented on GitHub (Feb 3, 2025): c85ce07f92e440eea4f5dfec35e718723d5031a4
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#3558