Description
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.
Published: 2026-08-05
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In DjangoCRM, the hard‑coded SECRET_KEY found in webcrm/settings.py is used to sign session cookies, generate CSRF tokens, and create password reset tokens. Anyone who can read the public repository obtains this key and can forge valid session cookies for any user, forge CSRF tokens, and produce password‑reset links, resulting in a full account takeover. This flaw is a classic instance of CWE‑798, manifested in the CVSS base score of 9.1.

Affected Systems

All installations of DjangoCRM that have not been modified to read the SECRET_KEY from an environment variable are affected, as the repository ships the SECRET_KEY hard‑coded in webcrm/settings.py. The hard‑coded key allows anyone who can read the public repository to forge session cookies, CSRF tokens, and password reset tokens, potentially enabling full account takeover. No evidence is provided that the issue is limited to any specific version or configuration beyond the default settings.

Risk and Exploitability

The risk remains high: a CVSS score of 9.1 signals severe impact and a straightforward exploitation path. The EPSS score of < 1% indicates a low current probability of exploitation, though the publicly exposed secret key lets an adversary forge session cookies, CSRF tokens, and password‑reset links without system access. The vulnerability is not included in the CISA KEV catalog, yet the ability to induce full account takeover makes it a priority for immediate resolution.

Generated by OpenCVE AI on August 10, 2026 at 21:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update DjangoCRM to a version where the SECRET_KEY is removed from source code and read from an environment variable or a secure secrets manager.
  • Regenerate the SECRET_KEY and rotate all database, email, OAuth, and other credentials; deploy the new key and update all instances.
  • Review repository history and configuration files to ensure the SECRET_KEY is not present in any committed source files, and remove it from any public repositories or logs.

Generated by OpenCVE AI on August 10, 2026 at 21:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Mon, 10 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Description 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. 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.

Mon, 10 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Title DjangoCRM: Hardcoded Django SECRET_KEY Enables Session and CSRF Token Forgery DjangoCRM - Hardcoded Django SECRET_KEY Enables Session and CSRF Token Forgery

Fri, 07 Aug 2026 11:45:00 +0000

Type Values Removed Values Added
First Time appeared Djangocrm
Djangocrm django-crm
Vendors & Products Djangocrm
Djangocrm django-crm

Wed, 05 Aug 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 05 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Description 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.
Title DjangoCRM: Hardcoded Django SECRET_KEY Enables Session and CSRF Token Forgery
Weaknesses CWE-798
References
Metrics cvssV3_1

{'score': 9.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Djangocrm Django-crm
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-10T11:45:42.375Z

Reserved: 2026-08-05T10:53:53.175Z

Link: CVE-2026-71238

cve-icon Vulnrichment

Updated: 2026-08-05T12:43:40.868Z

cve-icon NVD

Status : Received

Published: 2026-08-05T11:16:26.630

Modified: 2026-08-10T12:17:26.307

Link: CVE-2026-71238

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T22:00:05Z

Weaknesses
  • CWE-798

    Use of Hard-coded Credentials