Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Public hardcoded key enables unauthenticated remote token forgery (AV:N/AC:L/PR:N/UI:N) yielding full account takeover (C:H/I:H); no availability impact and no cross-system scope change.
Primary rating from Vendor (309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c).
CVSS VectorVendor: 309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
Lifecycle Timeline
2DescriptionCVE.org
DjangoCRM ships with its Django SECRET_KEY hardcoded directly in the committed webcrm/settings.py rather than read from an environment variable. Since this key is used for session signing, CSRF token generation, and password reset tokens, anyone who reads the public repository can forge valid session cookies (including for the superadmin account), forge CSRF tokens, and forge password reset tokens, achieving full account takeover. The repository also ships with DEBUG=True as the default, causing error pages to leak database credentials, email credentials, OAuth data, and internal file paths.
Articles & Coverage 1
AnalysisAI
Full account takeover in DjangoCRM stems from a hardcoded Django SECRET_KEY committed in webcrm/settings.py, letting anyone who reads the public GitHub repository forge session cookies (including the superadmin), CSRF tokens, and password reset tokens. The default DEBUG=True setting compounds this by exposing database, email, and OAuth credentials plus internal paths on error pages. No public exploit is identified at time of analysis, but exploitation is trivial and requires no authentication (CVSS 9.1, PR:N).
Technical ContextAI
DjangoCRM is a Python/Django customer-relationship-management application. Django derives cryptographic signatures for session cookies, CSRF tokens, and the PasswordResetTokenGenerator from the project-wide SECRET_KEY; the security model assumes this value is secret and per-deployment. Here the key is CWE-798 (Use of Hard-coded Credentials) - checked directly into version control in webcrm/settings.py instead of being read from an environment variable - so the signing secret is public knowledge for every deployment that did not manually override it. Because the same static key protects authentication (sessions), anti-CSRF, and password-reset flows, one disclosed secret collapses several independent trust boundaries at once. The secondary DEBUG=True default triggers Django's verbose error/traceback pages, which render settings values and can leak database credentials, SMTP credentials, OAuth secrets, and filesystem layout.
RemediationAI
No vendor-released patch version is identified at time of analysis. The primary operator-side fix is to stop trusting the shipped configuration: generate a new random SECRET_KEY, load it (and all credentials) from an environment variable or secrets manager rather than committing it, and set DEBUG=False in production. After rotating the key, invalidate existing sessions and CSRF tokens and force password resets, since previously issued tokens may have been forged; also rotate any database, email, and OAuth credentials that could have been exposed via DEBUG error pages. As a compensating control until configuration is corrected, disabling DEBUG immediately stops the credential/path leakage (side effect: you lose verbose tracebacks for debugging), and restricting network access to the application reduces the unauthenticated attack surface. Consult the project repository at https://github.com/DjangoCRM/django-crm for any updated guidance.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-798 – Use of Hard-coded Credentials
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-53311
GHSA-qc6p-hvpv-4f8h