GHSA-g423-grf7-98rv: Medium severity pip/open-webui vulnerability

Published Aug 4, 2026
·
Updated

Summary An authenticated user whose features.imagegeneration permission has been revoked can still make the server generate images by sending the feature flag in a chat-completion request. The chat pipeline took the client-supplied features object at face value and never re-checked the permission that the direct image routes enforce, so the denial applied to the UI affordance but not to the server-side generation path.

Preconditions Image generation must be enabled and a provider configured by the administrator (ENABLEIMAGEGENERATION is off by default). The per-user permission defaults to granted, so only deployments where an administrator explicitly revoked it for some users are affected. On 0.10.0 and later the caller must also set params.functioncalling to legacy; on 0.9.x and earlier the legacy mode was the default, so no special parameter was needed. Deployments on native function calling are unaffected, since that path checks the permission before registering the image tools.

Impact A user the administrator has explicitly denied image generation can consume the operator's configured provider through the chat API, spending the operator's API credits and provider quota and writing generated files to the operator's storage. Where an image is present in the conversation and image editing is enabled, the same handler reaches the image-edit provider as well. No provider credentials are exposed, and no other user's data is reachable.

Fix Fixed in 897d69a (#26703). The legacy chat-features block now re-checks features.imagegeneration against the caller's permissions before invoking the image handler, matching the check the direct image routes and the native function-calling path already performed.

Root cause The chat-completions endpoint stored the request's features object into request metadata, and processchatpayload in the chat middleware dispatched to the image handler purely on the truthiness of that client-supplied flag. Permission enforcement lived on the two surfaces that were reached from the UI, the direct /images/generations and /images/edit routes and the native function-calling tool registration, and was simply absent on the legacy chat path. The flag was treated as a statement of user intent, which it is, rather than as an authorization decision, which the handler behind it made it.

Credits @DavidCarliez, for identifying that the chat pipeline honours the client-supplied image-generation feature flag without re-checking the permission.

Affected Software

1 affected componentFixes available
pip/open-webui>=0.7.0<0.11.0
0.11.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/open-webui to a version that resolves this vulnerability.

    Fixed in 0.11.0
  2. Upgrade

    Upgrade chat-completions legacy chat-features image handler to a version that resolves this vulnerability.

    Patch 897d69a (#26703)
  3. Configuration

    Ensure image generation is disabled unless needed; enable and configure an image provider only if required (ENABLE_IMAGE_GENERATION is off by default).

    Server ENABLE_IMAGE_GENERATION = off by default
  4. Configuration

    On 0.10.0 and later, set params.function_calling to legacy for the legacy chat path (on 0.9.x and earlier legacy was the default so no special parameter was needed).

    Chat-completions API params.function_calling = legacy
  5. Compensating control

    If available, revoke/limit the features.image_generation permission for users that must not generate images; ensure callers cannot pass client-supplied features to trigger generation when permission is revoked.

Event History

Aug 4, 2026
Advisory Published
via GitHub·07:56 PM
Data Sourced
via GitHub·07:56 PM
DescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of GHSA-g423-grf7-98rv?

The severity of GHSA-g423-grf7-98rv is medium, rated at 4.3.

2

How do I fix GHSA-g423-grf7-98rv?

To fix GHSA-g423-grf7-98rv, ensure that the server properly validates user permissions before accepting feature flags in chat-completion requests.

3

What type of vulnerability is GHSA-g423-grf7-98rv?

GHSA-g423-grf7-98rv is a vulnerability related to insufficient permission checks for feature flags in the image generation process.

4

Who is affected by GHSA-g423-grf7-98rv?

Authenticated users whose `features.image_generation` permission has been revoked but can still exploit the vulnerability.

5

What steps should be taken if impacted by GHSA-g423-grf7-98rv?

If impacted by GHSA-g423-grf7-98rv, it's important to apply the necessary patches and implement stricter validation on permissions for feature flags.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203