<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git, branch 4.2.29</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=4.2.29</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=4.2.29'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-03-03T12:24:26Z</updated>
<entry>
<title>[4.2.x] Bumped version for 4.2.29 release.</title>
<updated>2026-03-03T12:24:26Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-03-03T12:24:26Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f2ec75efbcf4d1ed63f135e5f8ff5f0463175312'/>
<id>urn:sha1:f2ec75efbcf4d1ed63f135e5f8ff5f0463175312</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[4.2.x] Fixed CVE-2026-25674 -- Prevented potentially incorrect permissions on file system object creation.</title>
<updated>2026-03-03T12:23:20Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-01-21T21:03:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=54b50bf7d6dcbf02d4c01f853627cc9299d4934d'/>
<id>urn:sha1:54b50bf7d6dcbf02d4c01f853627cc9299d4934d</id>
<content type='text'>
This fix introduces `safe_makedirs()` in the `os` utils as a safer
alternative to `os.makedirs()` that avoids umask-related race conditions
in multi-threaded environments.

This is a workaround for https://github.com/python/cpython/issues/86533
and the solution is based on the fix being proposed for CPython.

Co-authored-by: Gregory P. Smith &lt;68491+gpshead@users.noreply.github.com&gt;
Co-authored-by: Zackery Spytz &lt;zspytz@gmail.com&gt;

Refs CVE-2020-24583 and #31921.

Thanks Tarek Nakkouch for the report, and Jake Howard, Jacob Walls, and
Shai Berger for reviews.

Backport of 019e44f67a8dace67b786e2818938c8691132988 from main.
</content>
</entry>
<entry>
<title>[4.2.x] Fixed CVE-2026-25673 -- Simplified URLField scheme detection.</title>
<updated>2026-03-03T12:22:17Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-01-30T01:52:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=b3e8ec8cc310489fe80174b14b11edb970d682ea'/>
<id>urn:sha1:b3e8ec8cc310489fe80174b14b11edb970d682ea</id>
<content type='text'>
This simplicaftion mitigates a potential DoS in URLField on Windows. The
usage of `urlsplit()` in `URLField.to_python()` was replaced with
`str.partition(":")` for URL scheme detection. On Windows, `urlsplit()`
performs Unicode normalization which is slow for certain characters,
making `URLField` vulnerable to DoS via specially crafted POST payloads.

Thanks Seokchan Yoon for the report, and Jake Howard and Shai Berger
for the review.

Refs #36923.

Co-authored-by: Jacob Walls &lt;jacobtylerwalls@gmail.com&gt;

Backport of 951ffb3832cd83ba672c1e3deae2bda128eb9cca from main.
</content>
</entry>
<entry>
<title>[4.2.x] Added stub release notes and release date for 4.2.29.</title>
<updated>2026-02-24T16:52:35Z</updated>
<author>
<name>Natalia</name>
<email>124304+nessita@users.noreply.github.com</email>
</author>
<published>2026-02-20T17:49:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e52ff00856cce3a2b05d244ee98dc2b8d9fcf3a9'/>
<id>urn:sha1:e52ff00856cce3a2b05d244ee98dc2b8d9fcf3a9</id>
<content type='text'>
Backport of acd0bec51366e259b4c2b43e4c09755541cdf560 from main.
</content>
</entry>
<entry>
<title>[4.2.x] Added CVE-2025-13473, CVE-2025-14550, CVE-2026-1207, CVE-2026-1285, CVE-2026-1287, and CVE-2026-1312 to security archive.</title>
<updated>2026-02-03T14:12:15Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-02-03T14:11:06Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=e0896dfe83cce33b5cae3fcf0bbbef89e92b4bc6'/>
<id>urn:sha1:e0896dfe83cce33b5cae3fcf0bbbef89e92b4bc6</id>
<content type='text'>
Backport of af361d3be4725b9da1022c078b2db02b9d9b96e7 from main.
</content>
</entry>
<entry>
<title>[4.2.x] Post-release version bump.</title>
<updated>2026-02-03T13:32:56Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-02-03T13:32:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=609d5526f0c4f8904ffabbce96cdb31953ffa92f'/>
<id>urn:sha1:609d5526f0c4f8904ffabbce96cdb31953ffa92f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[4.2.x] Bumped version for 4.2.28 release.</title>
<updated>2026-02-03T13:31:19Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-02-03T13:31:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=20c71f6b91324cf401056c72136c14e0ec2bf7bf'/>
<id>urn:sha1:20c71f6b91324cf401056c72136c14e0ec2bf7bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[4.2.x] Refs CVE-2026-1312 -- Raised ValueError when FilteredRelation aliases contain periods.</title>
<updated>2026-02-03T13:26:51Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-01-21T23:00:13Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=881ff2c4830f95fa844d8de5977c06205d45368f'/>
<id>urn:sha1:881ff2c4830f95fa844d8de5977c06205d45368f</id>
<content type='text'>
This prevents failures at the database layer, given that aliases in the
ON clause are not quoted.

Systematically quoting aliases even in FilteredRelation is tracked in
https://code.djangoproject.com/ticket/36795.

Backport of 005d60d97c4dfb117503bdb6f2facfcaf9315d84 from main.
</content>
</entry>
<entry>
<title>[4.2.x] Fixed CVE-2026-1312 -- Protected order_by() from SQL injection via aliases with periods.</title>
<updated>2026-02-03T13:26:22Z</updated>
<author>
<name>Jacob Walls</name>
<email>jacobtylerwalls@gmail.com</email>
</author>
<published>2026-01-21T22:53:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=90f5b10784ba5bf369caed87640e2b4394ea3314'/>
<id>urn:sha1:90f5b10784ba5bf369caed87640e2b4394ea3314</id>
<content type='text'>
Before, `order_by()` treated a period in a field name as a sign that it
was requested via `.extra(order_by=...)` and thus should be passed
through as raw table and column names, even if `extra()` was not used.
Since periods are permitted in aliases, this meant user-controlled
aliases could force the `order_by()` clause to resolve to a raw table
and column pair instead of the actual target field for the alias.

In practice, only `FilteredRelation` was affected, as the other
expressions we tested, e.g. `F`, aggressively optimize away the ordering
expressions into ordinal positions, e.g. ORDER BY 2, instead of ORDER BY
"table".column.

Thanks Solomon Kebede for the report, and Simon Charette and Jake Howard
for reviews.

Backport of 69065ca869b0970dff8fdd8fafb390bf8b3bf222 from main.
</content>
</entry>
<entry>
<title>[4.2.x] Fixed CVE-2026-1287 -- Protected against SQL injection in column aliases via control characters.</title>
<updated>2026-02-03T13:25:58Z</updated>
<author>
<name>Jake Howard</name>
<email>git@theorangeone.net</email>
</author>
<published>2026-01-21T11:14:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=f75f8f3597e1ce351d5ac08b6ba7ebd9dadd9b5d'/>
<id>urn:sha1:f75f8f3597e1ce351d5ac08b6ba7ebd9dadd9b5d</id>
<content type='text'>
Control characters in FilteredRelation column aliases could be used for
SQL injection attacks. This affected QuerySet.annotate(), aggregate(),
extra(), values(), values_list(), and alias() when using dictionary
expansion with **kwargs.

Thanks Solomon Kebede for the report, and Simon Charette, Jacob Walls,
and Natalia Bidart for reviews.

Backport of e891a84c7ef9962bfcc3b4685690219542f86a22 from main.
</content>
</entry>
</feed>
