---
id: CVE-2026-7666
aliases:
  - GHSA-mm6v-q8q9-pgcf
  - BIT-django-2026-7666
  - PYSEC-2026-200
title: >-
  Django fails to prevent reuse of a partially-initialized connection after a
  failed `STARTTLS` handshake
summary: >-
  Django fails to prevent reuse of a partially-initialized connection after a
  failed `STARTTLS` handshake
severity: low
cvss: 3.1
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N'
vendor: django
product: django
ecosystem: pip
affected:
  - 'django >= 5.2, < 5.2.15'
  - 'django >= 6.0, < 6.0.6'
patched:
  - django 5.2.15
  - django 6.0.6
published: '2026-06-03'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:51:08.992400956Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-mm6v-q8q9-pgcf'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-7666'
  - url: 'https://docs.djangoproject.com/en/dev/releases/security'
  - url: 'https://github.com/django/django'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2026-200.yaml
  - url: 'https://groups.google.com/g/django-announce'
  - url: 'https://www.djangoproject.com/weblog/2026/jun/03/security-releases'
tags:
  - osv
  - pip
epss: 0.0015
epssPercentile: 0.04591
ingestedAt: '2026-07-13T18:58:00.739Z'
---

## Overview

An issue was discovered in Django 6.0 before 6.0.6 and 5.2 before 5.2.15.

`django.core.mail.backends.smtp.EmailBackend` in Django fails to prevent reuse of a partially-initialized connection after a failed `STARTTLS` handshake when `fail_silently=True`, which allows on-path network attackers to read email content via cleartext interception.

Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected.
Django would like to thank Kasper Dupont for reporting this issue.

## Affected packages

- `django >= 5.2, < 5.2.15`
- `django >= 6.0, < 6.0.6`

## Remediation

Upgrade to a patched release:

- `django 5.2.15`
- `django 6.0.6`
