[GH-ISSUE #21799] issue: User can inject anything into the model prompt by intercepting the variables from the user side #58239

Closed
opened 2026-05-05 22:37:46 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @jegranado on GitHub (Feb 23, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/21799

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.8.5

Ollama Version (if applicable)

No response

Operating System

Ubuntu 22.04

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

The variables that collect user context from the browser (CURRENT_DATETIME, USER_EMAIL, CURRENT_TIMEZONE...) that are sent as "variables" in the payload to /api/chat/completions, if tampered with via traffic interception, should be validated in the server side for sanity (is the email formatted as an email? is the timezone a real timezone? id the current datetime a real datetime? is the user_name or user_location less than X lenght ? )

Actual Behavior

The variables that collect user context from the browser (CURRENT_DATETIME, USER_EMAIL, CURRENT_TIMEZONE...) that are sent as "variables" in the payload to /api/chat/completions can be used to inject any content into the models prompt, especially if the model refers to the variables explicitly.

Steps to Reproduce

Use any tool to intercept the requests and override any of these variables with malicious content, then observe the model behaving accordingly.

Logs & Screenshots

Image

Additional Information

No response

Originally created by @jegranado on GitHub (Feb 23, 2026). Original GitHub issue: https://github.com/open-webui/open-webui/issues/21799 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.8.5 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu 22.04 ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior The variables that collect user context from the browser (CURRENT_DATETIME, USER_EMAIL, CURRENT_TIMEZONE...) that are sent as "variables" in the payload to /api/chat/completions, if tampered with via traffic interception, should be validated in the server side for sanity (is the email formatted as an email? is the timezone a real timezone? id the current datetime a real datetime? is the user_name or user_location less than X lenght ? ) ### Actual Behavior The variables that collect user context from the browser (CURRENT_DATETIME, USER_EMAIL, CURRENT_TIMEZONE...) that are sent as "variables" in the payload to /api/chat/completions **can be used to inject any content** into the models prompt, especially if the model refers to the variables explicitly. ### Steps to Reproduce Use any tool to intercept the requests and override any of these variables with malicious content, then observe the model behaving accordingly. ### Logs & Screenshots <img width="509" height="222" alt="Image" src="https://github.com/user-attachments/assets/4891644c-5f38-4021-854e-4e10f80d26b3" /> ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-05 22:37:46 -05:00
Author
Owner

@Classic298 commented on GitHub (Feb 23, 2026):

So, ok, this is interesting I'll have to say.

But what's the issue here? You'll prompt inject your own.... your own chat. You can't cause harm to anyone but yourself.

So i don't see why a missing valdiation here in this scenario is an "issue". Am i missing anything?

Btw in case you are not aware of it, for future reference, open webui allows responsible disclosure via GitHub reports: https://github.com/open-webui/open-webui/security

<!-- gh-comment-id:3947461402 --> @Classic298 commented on GitHub (Feb 23, 2026): So, ok, this is interesting I'll have to say. But what's the issue here? You'll prompt inject your own.... your own chat. You can't cause harm to anyone but yourself. So i don't see why a missing valdiation here in this scenario is an "issue". Am i missing anything? Btw in case you are not aware of it, for future reference, open webui allows responsible disclosure via GitHub reports: https://github.com/open-webui/open-webui/security
Author
Owner

@jegranado commented on GitHub (Feb 23, 2026):

thanks for the heads-up for the sec reports route

for a single user environment, I agree with you, not much harm
but it is an issue when serving a platform with clients, I'd say

<!-- gh-comment-id:3947481449 --> @jegranado commented on GitHub (Feb 23, 2026): thanks for the heads-up for the sec reports route for a single user environment, I agree with you, not much harm but it is an issue when serving a platform with clients, I'd say
Author
Owner

@Classic298 commented on GitHub (Feb 23, 2026):

@jegranado why is it an issue in a multi user environment?

<!-- gh-comment-id:3947537958 --> @Classic298 commented on GitHub (Feb 23, 2026): @jegranado why is it an issue in a multi user environment?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#58239