Langflow weak Fernet key vulnerability leads to credential disclosure
Start here
Langflow 1.10.0 and earlier versions have a weak Fernet key derivation vulnerability: it uses Python's non-cryptographic PRNG seeded with SECRET_KEY to derive the Fernet encryption key. An attacker who only needs to read the secret_key file can reconstruct the key offline and decrypt all credentials in the database, without brute force. Affected data includes user-stored credentials for LLM providers such as OpenAI and Anthropic. This issue is rated Critical, CVSS 3.1 score 9.1, involving CWE-338, CWE-321, and CWE-311. Version 1.10.1 has fixed this issue.
Generated by AI from reports · Updated 5 days ago
Progress timeline
- GitHub 安全公告SelectedLangflow's weak Fernet key derivation vulnerability allows offline decryption of all credentials; fixed in 1.10.1
In Langflow 1.10.0 and earlier versions, the Python non-cryptographic PRNG is seeded with SECRET_KEY to derive the Fernet encryption key. An attacker who only needs to read the secret_key file can reconstruct the key offline and decrypt all credentials in the database without brute force. This issue is rated Critical, with a CVSS 3.1 score of 9.1, involving CWE-338, CWE-321, and CWE-311. Affected data includes user-stored API keys for LLM providers such as OpenAI and Anthropic, database connection strings and passwords, OAuth tokens, and webhook secrets, and all users of the same instance share the same SECRET_KEY. Fixed version 1.10.1 instead uses SHA-256 to derive a 32-byte key and uses MultiFernet for backward-compatible decryption of old ciphertext; deployments whose SECRET_KEY is shorter than 32 characters must re-enter previously stored credentials after upgrading.
Related discussion
Attention trend
New sources per day
- Oct 6: 1 new sources (1 outlets, 0 accounts)
- Oct 7: 0 new sources (0 outlets, 0 accounts)
- Oct 8: 0 new sources (0 outlets, 0 accounts)
- Oct 9: 0 new sources (0 outlets, 0 accounts)
- Oct 10: 0 new sources (0 outlets, 0 accounts)
- Oct 11: 0 new sources (0 outlets, 0 accounts)
- Oct 12: 0 new sources (0 outlets, 0 accounts)
- Oct 13: 0 new sources (0 outlets, 0 accounts)
- Oct 14: 0 new sources (0 outlets, 0 accounts)