CVE-2026-45338Open WebUI是一个自托管的人工智能平台。在0.9.0版本之前,该平台存在服务器端请求伪造(SSRF)漏洞。漏洞位于backend/open_webui/utils/oauth.py文件的_process_picture_url()函数中。该函数在处理OAuth图片声明的URL时,未调用validate_url()进行验证,直接获取任意URL。攻击者可利用此漏洞强制服务器向内部资源发起HTTP请求,并窃取完整的响应数据。该漏洞已在0.9.0版本中修复。
该漏洞的根本原因在于Open WebUI处理OAuth流程中的用户头像URL时缺乏严格的输入验证。具体来说,在backend/open_webui/utils/oauth.py文件的第1338行左右的_process_picture_url()函数中,代码直接从OAuth提供的picture claims中获取URL并请求该资源,而未通过validate_url()函数检查URL的合法性或范围。由于攻击者可以控制OAuth提供商返回的picture字段(或者在特定伪造场景下),他们可以指定内网地址(如http://127.0.0.1:8080, http://169.254.169.254/latest/meta-data/等)。服务器作为请求方,会访问这些内部地址并将响应返回给攻击者。由于CVSS向量中S:C(范围改变),这可能导致进一步的内网探测或敏感元数据泄露。利用条件需要低权限账号(PR:L),且无需用户交互。