<?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>Sat, 03 Oct 2026 23:10:00 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-33497 — Langflow: /profile_pictures/{folder_name}/{file_name} endpoint file reading</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-33497</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; langflow-ai langflow&lt;/p&gt;
&lt;p&gt;Langflow is a tool for building and deploying AI-powered agents and workflows. Prior to version 1.7.1, in the download_profile_picture function of the /profile_pictures/{folder_name}/{file_name} endpoint, the folder_name and file_name parameters are not strictly filtered, which allows the secret_key to be read across directories. Version 1.7.1 contains a patch.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; langflow-ai langflow&lt;/p&gt;
&lt;p&gt;Langflow is a tool for building and deploying AI-powered agents and workflows. Prior to version 1.7.1, in the download_profile_picture function of the /profile_pictures/{folder_name}/{file_name} endpoint, the folder_name and file_name parameters are not strictly filtered, which allows the secret_key to be read across directories. Version 1.7.1 contains a patch.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-33497</guid>
    </item>
    <item>
      <title>GHSA-ph9w-r52h-28p7 — langflow: /profile_pictures/{folder_name}/{file_name} endpoint file reading</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-ph9w-r52h-28p7</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langflow&lt;/p&gt;
&lt;p&gt;## Vulnerability&lt;/p&gt;
&lt;p&gt;### Path Traversal in `GET /api/v1/files/profile_pictures/{folder_name}/{file_name}`&lt;/p&gt;
&lt;p&gt;The `download_profile_picture` function in `src/backend/base/langflow/api/v1/files.py` constructed file paths by directly concatenating the user-supplied `folder_name` and `file_name` path parameters without sanitization or boundary validation. The resulting path was passed to the filesystem without verifying it remained within the intended directory.&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker could supply traversal sequences (e.g. `../secret_key`) to navigate outside the profile pictures directory and read arbitrary files on the server filesystem.&lt;/p&gt;
&lt;p&gt;This exposed the server to:&lt;/p&gt;
&lt;p&gt;- **Sensitive file disclosure** — any file readable by the application process could be retrieved
- **Secret key exfiltration** — the application&amp;#39;s `secret_key` file, used as JWT signing material, could be read directly via `../secret_key`
- **Authentication bypass** — with the `secret_key` in hand, an attacker can forge valid JWT tokens and authenticate as any user, including administrators&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;```bash
curl --path-as-is &amp;#39;http://&amp;lt;host&amp;gt;:7860/api/v1/files/profile_pictures/../secret_key&amp;#39;
```&lt;/p&gt;
&lt;p&gt;A successful response returns the raw secret key value used to sign all JWT authentication tokens in the instance.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Fix&lt;/p&gt;
&lt;p&gt;The fix was applied in `src/backend/base/langflow/api/v1/files.py` (PR #12263).&lt;/p&gt;
&lt;p&gt;Two layers of defense were introduced:&lt;/p&gt;
&lt;p&gt;**1. Typed path validation** — the `folder_name` and `fi…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: langflow&lt;/p&gt;
&lt;p&gt;## Vulnerability&lt;/p&gt;
&lt;p&gt;### Path Traversal in `GET /api/v1/files/profile_pictures/{folder_name}/{file_name}`&lt;/p&gt;
&lt;p&gt;The `download_profile_picture` function in `src/backend/base/langflow/api/v1/files.py` constructed file paths by directly concatenating the user-supplied `folder_name` and `file_name` path parameters without sanitization or boundary validation. The resulting path was passed to the filesystem without verifying it remained within the intended directory.&lt;/p&gt;
&lt;p&gt;An unauthenticated attacker could supply traversal sequences (e.g. `../secret_key`) to navigate outside the profile pictures directory and read arbitrary files on the server filesystem.&lt;/p&gt;
&lt;p&gt;This exposed the server to:&lt;/p&gt;
&lt;p&gt;- **Sensitive file disclosure** — any file readable by the application process could be retrieved
- **Secret key exfiltration** — the application&amp;#39;s `secret_key` file, used as JWT signing material, could be read directly via `../secret_key`
- **Authentication bypass** — with the `secret_key` in hand, an attacker can forge valid JWT tokens and authenticate as any user, including administrators&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;```bash
curl --path-as-is &amp;#39;http://&amp;lt;host&amp;gt;:7860/api/v1/files/profile_pictures/../secret_key&amp;#39;
```&lt;/p&gt;
&lt;p&gt;A successful response returns the raw secret key value used to sign all JWT authentication tokens in the instance.&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;## Fix&lt;/p&gt;
&lt;p&gt;The fix was applied in `src/backend/base/langflow/api/v1/files.py` (PR #12263).&lt;/p&gt;
&lt;p&gt;Two layers of defense were introduced:&lt;/p&gt;
&lt;p&gt;**1. Typed path validation** — the `folder_name` and `fi…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-ph9w-r52h-28p7</guid>
    </item>
  </channel>
</rss>
