Package: python-django
Version: 2:2.2.28-1~deb11u12
X-Debbugs-CC: [email protected]
Severity: grave
Tags: security

Hi,

The following vulnerabilities were published for python-django.

* CVE-2026-6873: Signed cookie salt namespace collision in 
`django.http.HttpRequest.get_signed_cookie`

    `get_signed_cookie()` derived the signing salt by concatenating
    the cookie name (`key`) and `salt` arguments. When distinct name
    and salt pairs produced the same concatenation, cookies could be
    accepted in a context different from the one where they were
    signed.

    Cookies are now signed with an unambiguous salt derivation. For
    backwards compatibility, cookies signed by older Django versions
    are accepted until Django 7.0.

* CVE-2026-7666: Potential unencrypted email transmission via `STARTTLS` in the 
SMTP backend

    When using `EMAIL_USE_TLS`, a failed `STARTTLS` handshake could
    leave a partially-initialized connection that would subsequently
    be reused for sending email without encryption. This can occur
    with `fail_silently=True`, as used by `send_mail()` and
    `BrokenLinkEmailsMiddleware`, among others. Connections configured
    with `EMAIL_USE_SSL` are not affected.

* CVE-2026-8404: Potential exposure of private data via case-sensitive 
`Cache-Control` directives in `UpdateCacheMiddleware`

    `django.middleware.cache.UpdateCacheMiddleware` and
    `django.views.decorators.cache.cache_page` decorator incorrectly
    cached responses marked with private `Cache-Control` directives
    when using mixed or uppercase values (e.g. `Private`).

    The `django.views.decorators.cache.cache_control` decorator and
    `django.utils.cache.patch_cache_control()` function were not
    affected, since they normalize directives to lowercase. This issue
    only affects responses where `Cache-Control` is set manually.

* CVE-2026-35193: Potential exposure of private data via missing `Vary: 
Authorization` in `UpdateCacheMiddleware`

    `django.middleware.cache.UpdateCacheMiddleware` and
    `django.views.decorators.cache.cache_page` decorator allowed
    responses to requests bearing an `Authorization` header (and
    without `Cache-Control: public`) to be cached. To conform with the
    existing mechanism for constructing cache keys, responses to these
    requests will now vary on `Authorization`.

* CVE-2026-48587: Potential exposure of private data via whitespace padding in 
`Vary` header

    `django.middleware.cache.UpdateCacheMiddleware` incorrectly cached
    responses whose `Vary` header values contained leading or trailing
    whitespace. Because `has_vary_header()` failed to strip that
    whitespace, a response with a `Vary: * ` header (note the trailing
    space) was not recognized as containing the wildcard, causing it
    to be stored and potentially served from the cache when it should
    not have been.


If you fix the vulnerabilities please also make sure to include the
CVE (Common Vulnerabilities & Exposures) ids in your changelog entry.

For further information see:

  https://www.djangoproject.com/weblog/2026/jun/03/security-releases/

Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      [email protected] / chris-lamb.co.uk
       `-

Reply via email to