<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-17T05:20:23.151285+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/bdu:2026-07439</id>
    <title>bdu:2026-07439</title>
    <updated>2026-10-17T05:20:23.154615+00:00</updated>
    <content>bdu:2026-07439</content>
    <link href="https://cve.radiocsirt.org/vuln/bdu:2026-07439"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-319083</id>
    <title>EUVD-2026-319083</title>
    <updated>2026-10-17T05:20:23.154647+00:00</updated>
    <content>EUVD-2026-319083</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-319083"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-45400</id>
    <title>fkie_cve-2026-45400</title>
    <updated>2026-10-17T05:20:23.154661+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Open WebUI is a self-hosted artificial intelligence platform designed to operate entirely offline. Prior to 0.9.5, a parsing difference between the urlparse and requests libraries led to an SSRF bypass vulnerability. This vulnerability is fixed in 0.9.5.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-45400"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-8w7q-q5jp-jvgx</id>
    <title>GHSA-8w7q-q5jp-jvgx — Open WebUI has a Server-Side Request Forgery (SSRF) bypass in `validate_url`</title>
    <updated>2026-10-17T05:20:23.154688+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: open-webui</p>
<p>### Summary
In the open-webui project, a parsing difference between the urlparse and requests libraries led to an SSRF bypass vulnerability.</p>
<p>### Details
In the current project, URL validation is performed using the function validate_url.</p>
<p>&lt;img width="1323" height="1145" alt="QQ20260322-202854-22-1" src="https://github.com/user-attachments/assets/896d19f2-c7c3-499a-9052-12aea756ac47" /&gt;</p>
<p>The current checking logic uses urlparse to parse the hostname part of the URL for verification.</p>
<p>&lt;img width="1122" height="429" alt="QQ20260322-203014-22-2" src="https://github.com/user-attachments/assets/653520e9-e311-4a5e-8345-a2446e217d88" /&gt;</p>
<p>However, there are actually differences in parsing between urlparse and the library that actually sends the request. For example, in files.py, validate_url is used first for URL validation, and then requests.get is used to send the request.</p>
<p>&lt;img width="1269" height="915" alt="QQ20260322-203122-22-3" src="https://github.com/user-attachments/assets/f200aa06-9190-425e-9659-1ecaf95f806b" /&gt;</p>
<p>The core issue: `urlparse()` and `requests` disagree on which host a URL like `http://127.0.0.1:6666\@1.1.1.1` points to:</p>
<p>- `urlparse()` treats `\` as a regular character and `@` as the userinfo-host delimiter, so it extracts hostname as `1.1.1.1` (public)
- `requests` treats `\` as a path character, connecting to `127.0.0.1` (internal)</p>
<p>Below is a test code I wrote following the open-webui code.
```
from __future__ import annotations</p>
<p>import ipaddress
import log…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-8w7q-q5jp-jvgx"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-2715</id>
    <title>PYSEC-2026-2715 — Open WebUI has a Server-Side Request Forgery (SSRF) bypass in `validate_url`</title>
    <updated>2026-10-17T05:20:23.154754+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: open-webui</p>
<p>### Summary
In the open-webui project, a parsing difference between the urlparse and requests libraries led to an SSRF bypass vulnerability.</p>
<p>### Details
In the current project, URL validation is performed using the function validate_url.</p>
<p>&lt;img width="1323" height="1145" alt="QQ20260322-202854-22-1" src="https://github.com/user-attachments/assets/896d19f2-c7c3-499a-9052-12aea756ac47" /&gt;</p>
<p>The current checking logic uses urlparse to parse the hostname part of the URL for verification.</p>
<p>&lt;img width="1122" height="429" alt="QQ20260322-203014-22-2" src="https://github.com/user-attachments/assets/653520e9-e311-4a5e-8345-a2446e217d88" /&gt;</p>
<p>However, there are actually differences in parsing between urlparse and the library that actually sends the request. For example, in files.py, validate_url is used first for URL validation, and then requests.get is used to send the request.</p>
<p>&lt;img width="1269" height="915" alt="QQ20260322-203122-22-3" src="https://github.com/user-attachments/assets/f200aa06-9190-425e-9659-1ecaf95f806b" /&gt;</p>
<p>The core issue: `urlparse()` and `requests` disagree on which host a URL like `http://127.0.0.1:6666\@1.1.1.1` points to:</p>
<p>- `urlparse()` treats `\` as a regular character and `@` as the userinfo-host delimiter, so it extracts hostname as `1.1.1.1` (public)
- `requests` treats `\` as a path character, connecting to `127.0.0.1` (internal)</p>
<p>Below is a test code I wrote following the open-webui code.
```
from __future__ import annotations</p>
<p>import ipaddress
import log…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-2715"/>
  </entry>
</feed>
