Medium severityPythonInsecure ConfigurationMEDIUM confidence
Django CSRF Exempt
A view is decorated with @csrf_exempt (CWE-352), removing Django's CSRF protection and allowing forged cross-site state-changing requests.
Standards mapping
- OWASP Top 10
- A01:2021 - Broken Access Control
- OWASP ASVS
- V4.2.2 (L1)
Vulnerable vs. safe
Flagged by this check
@csrf_exemptPasses - the safe pattern
@login_requiredWhy it matters & how to fix it
A view is decorated with @csrf_exempt (CWE-352), removing Django's CSRF protection and allowing forged cross-site state-changing requests. Remove the exemption; if a specific endpoint needs it (e.g. a webhook), enforce an alternative origin/signature check.
References
Rule ID integsec-python-django-csrf-exempt - engine: Opengrep - license: MIT - Copyright (c) IntegSec Inc.
TurboPentest runs this check automatically
Connect a GitHub repo and this check runs on every white-box pentest - AI-validated and reported with proof, from $99 per target.
Start a pentestRelated checks
- JavaScript / TypeScript - Insecure ConfigurationCORS Acao Wildcard Header
- JavaScript / TypeScript - Insecure ConfigurationCORS Wildcard Origin
- JavaScript / TypeScript - Insecure ConfigurationCORS Wildcard With Credentials
- JavaScript / TypeScript - Insecure ConfigurationCSRF Protection Disabled
- JavaScript / TypeScript - Insecure ConfigurationExpress Trust Proxy All
- JavaScript / TypeScript - Insecure ConfigurationExpress X Powered By Enabled