<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-10T08:43:16.960988+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/cve-2024-21644</id>
    <title>CVE-2024-21644 — pyLoad unauthenticated flask configuration leakage</title>
    <updated>2026-10-10T08:43:16.964965+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> pyload</p>
<p>pyLoad is the free and open-source Download Manager written in pure Python. Any unauthenticated user can browse to a specific URL to expose the Flask config, including the `SECRET_KEY` variable. This issue has been patched in version 0.5.0b3.dev77.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2024-21644"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-1820</id>
    <title>PYSEC-2026-1820 — pyload Unauthenticated Flask Configuration Leakage vulnerability</title>
    <updated>2026-10-10T08:43:16.965046+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pyload-ng</p>
<p>### Summary
Any unauthenticated user can browse to a specific URL to expose the Flask config, including the `SECRET_KEY` variable.</p>
<p>### Details
Any unauthenticated user can browse to a specific URL to expose the Flask config, including the `SECRET_KEY` variable.</p>
<p>### PoC
Run `pyload` in the default configuration by running the following command
```
pyload
```</p>
<p>Now browse to `http://localhost:8000/render/info.html`. Notice how the Flask configuration gets displayed.
![PoC](https://user-images.githubusercontent.com/44903767/294522246-4cc19c49-b315-4926-8fd6-ec3c3fdb7c1f.png)</p>
<p>I was quite amused by this finding. I think it's a very interesting coming together of things that is so unlikely to happen. Below I will detail my process a bit more.</p>
<p>I was looking through the code to see how the authorization mechanism is implemented when I spotted this route, which can be accessed by any unauthenticated actor
- https://github.com/pyload/pyload/blob/57d81930edb59177c60830ad8ac36a91d0ec4c4e/src/pyload/webui/app/blueprints/app_blueprint.py#L33C1-L37C51
```python
@bp.route("/render/&lt;path:filename&gt;", endpoint="render")
def render(filename):
    mimetype = mimetypes.guess_type(filename)[0] or "text/html"
    data = render_template(filename)
    return flask.Response(data, mimetype=mimetype)
 ```</p>
<p>This route allows me to load in any of the predefined templates. However, these templates will be lacking any form of context, and as such it doesn't seem too useful. That is until I loaded the `in…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-1820"/>
  </entry>
</feed>
