CVE-2026-71238
Full vulnerability record from the local CVENow database.
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.
Severity
CRITICAL
CVSS score
9.1
(v3.1)
Vulnerability status
Deferred
Source identifier
309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c
Published
2026-08-05 11:16:26.630000
Last modified
2026-10-24 15:10:00.190000
View original CVE JSON
{
"id": "CVE-2026-71238",
"sourceIdentifier": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"published": "2026-08-05T11:16:26.630",
"lastModified": "2026-10-24T15:10:00.190",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "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."
},
{
"lang": "es",
"value": "DjangoCRM se distribuye con su SECRET_KEY de Django codificada directamente en el archivo webcrm/settings.py del repositorio, en lugar de leerse de una variable de entorno. Dado que esta clave se utiliza para la firma de sesión, la generación de tokens CSRF y los tokens de restablecimiento de contraseña, cualquiera que lea el repositorio público puede falsificar cookies de sesión válidas (incluso para la cuenta de superadministrador), falsificar tokens CSRF y falsificar tokens de restablecimiento de contraseña, logrando una toma de control total de la cuenta. El repositorio también se distribuye con DEBUG=True como valor predeterminado, lo que provoca que las páginas de error filtren credenciales de la base de datos, credenciales de correo electrónico, datos de OAuth y rutas de archivos internas."
}
],
"affected": [
{
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"affectedData": [
{
"vendor": "DjangoCRM",
"product": "django-crm",
"defaultStatus": "unknown",
"programFiles": [
"webcrm/settings.py"
],
"versions": [
{
"version": "0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"baseScore": 9.1,
"baseSeverity": "CRITICAL",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "NONE"
},
"exploitabilityScore": 3.9,
"impactScore": 5.2
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-05T12:43:33.263122Z",
"id": "CVE-2026-71238",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "total"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-798"
}
]
}
],
"references": [
{
"url": "https://github.com/DjangoCRM/django-crm",
"source": "309f9ea4-e3e9-4c6c-b79d-e8eb01244f2c"
}
]
}