<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-15T18:00:45.523777+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/cve-2026-9205</id>
    <title>CVE-2026-9205 — Langflow is affected by weaknesses in secret handling and sensitive configuration access</title>
    <updated>2026-10-15T18:00:45.525288+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> IBM Langflow OSS</p>
<p>IBM Langflow OSS contains a weak cryptographic key derivation vulnerability in the ensure_fernet_key() function.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-9205"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/pysec-2026-4235</id>
    <title>PYSEC-2026-4235 — Langflow: Weak Fernet Key via random.seed()</title>
    <updated>2026-10-15T18:00:45.525356+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: langflow</p>
<p>### Summary</p>
<p>Langflow uses Python's `random` module (Mersenne Twister, a non-cryptographic PRNG) seeded with the `SECRET_KEY` to derive the Fernet encryption key for all stored user credentials (API keys, LLM provider secrets, database passwords). When the `SECRET_KEY` is shorter than 32 characters — a common scenario for self-hosted deployments using simple/memorable secrets — the derived encryption key is fully deterministic and reproducible by anyone who knows the seed value. An attacker who obtains the `SECRET_KEY` (e.g., via the MCP path traversal in this repo) can reconstruct the exact Fernet key offline and decrypt every credential stored in the database with no brute force required.</p>
<p>Even when `SECRET_KEY` is 32+ characters (the "safe" branch), the raw key material is used directly as the Fernet key — meaning exfiltrating the `secret_key` file is sufficient to decrypt all credentials without any additional computation.</p>
<p>**Severity:** Critical — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N (9.1)
**CWE-338:** Weak PRNG | **CWE-321:** Hard-coded Cryptographic Key | **CWE-311:** Missing Encryption of Sensitive Data</p>
<p>### Details</p>
<p>**Root cause: `src/backend/base/langflow/services/auth/service.py`, lines 651–663**</p>
<p>```python
MINIMUM_KEY_LENGTH = 32</p>
<p>def _ensure_valid_key(self, raw_key: str) -&gt; bytes:
    if len(raw_key) &lt; MINIMUM_KEY_LENGTH:
        random.seed(raw_key)                                   # Non-cryptographic PRNG seeded with the secret
        key = bytes(ran…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/pysec-2026-4235"/>
  </entry>
</feed>
