Django
cpe:2.3:a:django_project:django:*:*:*:*:*:*:*
- < 6.0.6
- < 5.2.15
- ~5.0
- ~4.1
- ~3.2
A vulnerability exists in Django's SMTP email backend that could lead to unencrypted email transmission. This issue is present in Django versions 6.0 prior to 6.0.6 and 5.2 prior to 5.2.15. The vulnerability arises when 'fail_silently=True' is set, allowing on-path attackers to intercept email content in cleartext. This occurs because the backend fails to properly manage a partially-initialized connection after a failed STARTTLS handshake, reusing it for sending emails without encryption.
Exploitation of this vulnerability could result in interception and reading of email content transmitted in cleartext, potentially exposing sensitive information.
To reproduce this vulnerability, configure Django to use the SMTP email backend with 'EMAIL_USE_TLS' enabled and 'fail_silently' set to True. When a STARTTLS handshake fails, the backend will reuse the unencrypted connection for sending emails, allowing interception of the email content.
Users can upgrade to Django versions 6.0.6 or 5.2.15, both of which include the necessary patch. Instructions for downloading these versions are available on the Django website.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.