1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00
Commit Graph

13201 Commits

Author SHA1 Message Date
Sarah Boyce
8c6871b097 [5.0.x] Fixed CVE-2025-27556 -- Mitigated potential DoS in url_has_allowed_host_and_scheme() on Windows.
Thank you sw0rd1ight for the report.

Backport of 39e2297210 from main.
2025-04-02 10:42:15 +02:00
Sarah Boyce
717e34bd48 [5.0.x] Pinned black == 24.10.0 in GitHub actions, pre-commit and test requirements. 2025-03-25 15:57:37 -03:00
Sarah Boyce
4f27652323 [5.0.x] Fixed CVE-2025-26699 -- Mitigated potential DoS in wordwrap template filter.
Thanks sw0rd1ight for the report.

Backport of 55d89e25f4 from main.
2025-03-06 09:52:41 +01:00
Simon Charette
577cd7343a [5.0.x] Refs #34060 -- Adjusted CVE-2024-53908 regression test for psycopg2.
The lack of explicit cast for JSON literals on psycopg2 is fixed on 5.1+ by
0d8fbe2ade but didn't qualify for a backport to
stable/5.0.x at the time.
2025-01-17 10:12:29 +01:00
Mariusz Felisiak
21dfd30d69 [5.0.x] Fixed #36098 -- Fixed validate_ipv6_address()/validate_ipv46_address() crash for non-string values.
Regression in ca2be7724e.

Backport of b3c5830769 from main.
2025-01-15 13:49:34 -03:00
Natalia
e8d4a20059 [5.0.x] Fixed CVE-2024-56374 -- Mitigated potential DoS in IPv6 validation.
Thanks Saravana Kumar for the report, and Sarah Boyce and Mariusz
Felisiak for the reviews.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-01-14 09:00:34 -03:00
Simon Charette
ff08bb6c70 [5.0.x] Fixed CVE-2024-53908 -- Prevented SQL injections in direct HasKeyLookup usage on Oracle.
Thanks Seokchan Yoon for the report, and Mariusz Felisiak and Sarah
Boyce for the reviews.
2024-12-04 14:25:15 +01:00
Sarah Boyce
a5a89ea28c [5.0.x] Fixed CVE-2024-53907 -- Mitigated potential DoS in strip_tags().
Thanks to jiangniao for the report, and Shai Berger and Natalia Bidart
for the reviews.
2024-12-04 14:25:05 +01:00
Tainara Palmeira
5064ddb4f9 [5.0.x] Refs #35844 -- Expanded compatibility for expected error messages in command tests on Python 3.12.
Updated CommandTests.test_subparser_invalid_option and CommandDBOptionChoiceTests.test_invalid_choice_db_option to use assertRaisesRegex() for compatibility with modified error messages in Python 3.12, 3.13, and 3.14+..

Backport of fc22fdd34f from main.
2024-10-30 11:28:55 +01:00
Natalia
96d8404771 [5.0.x] Fixed CVE-2024-45231 -- Avoided server error on password reset when email sending fails.
On successful submission of a password reset request, an email is sent
to the accounts known to the system. If sending this email fails (due to
email backend misconfiguration, service provider outage, network issues,
etc.), an attacker might exploit this by detecting which password reset
requests succeed and which ones generate a 500 error response.

Thanks to Thibaut Spriet for the report, and to Mariusz Felisiak, Adam
Johnson, and Sarah Boyce for the reviews.
2024-09-03 09:33:01 -03:00
Sarah Boyce
813de2672b [5.0.x] Fixed CVE-2024-45230 -- Mitigated potential DoS in urlize and urlizetrunc template filters.
Thanks MProgrammer (https://hackerone.com/mprogrammer) for the report.
2024-09-03 09:32:43 -03:00
Simon Charette
32ebcbf2e1 [5.0.x] Fixed CVE-2024-42005 -- Mitigated QuerySet.values() SQL injection attacks against JSON fields.
Thanks Eyal (eyalgabay) for the report.
2024-08-06 08:51:55 +02:00
Mariusz Felisiak
523da8771b [5.0.x] Fixed CVE-2024-41991 -- Prevented potential ReDoS in django.utils.html.urlize() and AdminURLFieldWidget.
Thanks Seokchan Yoon for the report.

Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-08-06 08:51:55 +02:00
Sarah Boyce
7b7b909579 [5.0.x] Fixed CVE-2024-41990 -- Mitigated potential DoS in urlize and urlizetrunc template filters.
Thanks to MProgrammer for the report.
2024-08-06 08:51:55 +02:00
Sarah Boyce
27900fe56f [5.0.x] Fixed CVE-2024-41989 -- Prevented excessive memory consumption in floatformat.
Thanks Elias Myllymäki for the report.

Co-authored-by: Shai Berger <shai@platonix.com>
2024-08-06 08:51:55 +02:00
Sarah Boyce
d7f955462c [5.0.x] Fixed #35657 -- Made FileField handle db_default values.
Backport of 8deb6bb1fc from main.
2024-08-05 16:38:20 -03:00
David Sanders
333cfab512 [5.0.x] Fixed #35638 -- Updated validate_constraints to consider db_default.
Backport of 509763c799 from main.
2024-08-05 17:42:19 +02:00
John Parton
c822ad638a [5.0.x] Fixed #35628 -- Allowed compatible GeneratedFields for ModelAdmin.date_hierarchy.
Backport of 7f8d839722 from main.
2024-08-05 15:30:40 +02:00
Tim Graham
3b70cf4930 [5.0.x] Added missing skips in constraint tests.
Backport of b6ad8b687a from main.
2024-07-26 17:08:53 +02:00
Mariusz Felisiak
ca9880b98f [5.0.x] Refs #35625 -- Corrected CheckConstraint argument name in migrations.test_operations. 2024-07-26 11:40:59 +02:00
Lorenzo Peña
e18601273a [5.0.x] Fixed #35627 -- Raised a LookupError rather than an unhandled ValueError in get_supported_language_variant().
LocaleMiddleware didn't handle the ValueError raised by
get_supported_language_variant() when language codes were
over 500 characters.

Regression in 9e9792228a.

Backport of 0e94f292cd from main.
2024-07-25 09:42:17 +02:00
Simon Charette
41d8ef18ac [5.0.x] Fixed #35625 -- Fixed a crash when adding a field with db_default and check constraint.
This is the exact same issue as refs #30408 but for creating a model with a
constraint containing % escapes instead of column addition. All of these issues
stem from a lack of SQL and parameters separation from the BaseConstraint DDL
generating methods preventing them from being mixed with other parts of the
schema alteration logic that do make use of parametrization on some backends
(e.g. Postgres, MySQL for DEFAULT).

Prior to the addition of Field.db_default and GeneratedField in 5.0
parametrization of DDL was never exercised on model creation so this is
effectively a bug with db_default as the GeneratedField case was addressed by
refs #35336.

Thanks Julien Chaumont for the report and Mariusz Felisiak for the review.

Backport of f359990e49 from main.
2024-07-25 07:54:19 +02:00
Mariusz Felisiak
4609d53adb [5.0.x] Fixed mail.tests.MailTests.test_backend_arg() test on Python 3.13+.
There is no point in asserting Python error messages.

Backport of 4ee68bb4f5 from main.
2024-07-22 09:05:44 +02:00
Hisham Mahmood
c3d3af8ea3 [5.0.x] Fixed #35606, Refs #34045 -- Fixed rendering of ModelAdmin.action_checkbox for models with a __html__ method.
Thank you Claude Paroz for the report.

Regression in 85366fbca7.

Backport of 182f262b15 from main.
2024-07-18 08:30:53 +02:00
Simon Charette
fe9bf0cef5 [5.0.x] Fixed #35594 -- Added unique nulls distinct validation for expressions.
Thanks Mark Gensler for the report.

Backport of adc0b6aac3 from main.
2024-07-17 13:07:42 +02:00
Simon Charette
c30669821b [5.0.x] Refs #30581 -- Made unattached UniqueConstraint(fields) validation testable.
The logic allowing UniqueConstraint(fields).validate to preserve backward
compatiblity with Model.unique_error_message failed to account for cases where
the constraint might not be attached to a model which is a common pattern
during testing.

This changes allows for arbitrary UniqueConstraint(fields) to be tested in
isolation without requiring actual models backing them up.

Co-authored-by: Mark G <mark.gensler@protonmail.com>

Backport of 13922580cc from main.
2024-07-17 13:07:41 +02:00
Mariusz Felisiak
c1028bdd09 [5.0.x] Refs #35560 -- Corrected required feature flags in GeneratedModelUniqueConstraint.
Backport of 2d3bb414cf from main.
2024-07-15 10:25:09 +02:00
Sarah Boyce
8e7a44e4be [5.0.x] Fixed CVE-2024-39614 -- Mitigated potential DoS in get_supported_language_variant().
Language codes are now parsed with a maximum length limit of 500 chars.

Thanks to MProgrammer for the report.
2024-07-09 10:03:38 -03:00
Natalia
9f4f63e9eb [5.0.x] Fixed CVE-2024-39330 -- Added extra file name validation in Storage's save method.
Thanks to Josh Schneier for the report, and to Carlton Gibson and Sarah
Boyce for the reviews.
2024-07-09 10:03:32 -03:00
Michael Manfre
07cefdee4a [5.0.x] Fixed CVE-2024-39329 -- Standarized timing of verify_password() when checking unusuable passwords.
Refs #20760.

Thanks Michael Manfre for the fix and to Adam Johnson for the review.
2024-07-09 10:03:20 -03:00
Adam Johnson
7285644640 [5.0.x] Fixed CVE-2024-38875 -- Mitigated potential DoS in urlize and urlizetrunc template filters.
Thank you to Elias Myllymäki for the report.

Co-authored-by: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com>
2024-07-09 10:03:07 -03:00
Mariusz Felisiak
c76089be6f [5.0.x] Refs #35560 -- Corrected CheckConstraint argument name in model_fields tests. 2024-07-08 12:38:04 +02:00
Mark Gensler
0602fc2124 [5.0.x] Fixed #35560 -- Made Model.full_clean() ignore GeneratedFields for constraints.
Accessing generated field values on unsaved models caused a crash when
validating CheckConstraints and UniqueConstraints with expressions.

Backport of 1005c2abd1 from main.
2024-07-04 11:49:27 +02:00
Carlton Gibson
dd3d0483ab [5.0.x] Refs #35059 -- Used asyncio.Event in ASGITest.test_asyncio_cancel_error to enforce specific interleaving.
Sleep call leads to a hard to trace error in CI. Using an Event is
more deterministic, and should be less prone to environment
variations.

Bug in 11393ab131.

Backport of f4a08b6ddf from main.
2024-06-25 11:06:27 -03:00
sobolevn
9b5029f048 [5.0.x] Fixed #35426 -- Updated querysets to be a required argument of GenericPrefetch.
Backport of 9a27c76021 from main.
2024-05-04 11:34:12 +02:00
Sarah Boyce
ac9e18f1c4 [5.0.x] Refs #35359 -- Fixed OperationTests.test_add_generate_field() test on PostgreSQL.
Concat() in Django 5.0 is not immutable on PostgreSQL and cannot be used
in GeneratedField, see 6364b6ee10.
2024-05-03 23:52:24 -03:00
Mariusz Felisiak
c544f1a223 [5.0.x] Fixed #35422 -- Fixed migrations crash when altering GeneratedField referencing rename field.
Thanks Sarah Boyce for the report and Simon Charette for the
implementation idea.

Backport of 91a4b9a8ec from main.
2024-05-03 09:32:31 +02:00
DevilsAutumn
24f54c3b09 [5.0.x] Fixed #35359 -- Fixed migration operations ordering when adding fields referenced by GeneratedField.expression.
Thank you to Simon Charette for the review.

Backport of 9aeb38c296 from main.
2024-05-02 21:54:52 -03:00
fa202d5cb1 [5.0.x] Refs #34007, Refs #35359 -- Added Q.referenced_based_fields property.
Thank you to Mariusz Felisiak and Natalia Bidart for the reviews.

Backport of 97d48cd3c6 from main
2024-05-02 21:45:02 -03:00
Simon Charette
9d79714e25 [5.0.x] Fixed #35373 -- Fixed a crash when indexing a generated field on SQLite.
Generated fields have to be excluded from the INSERT query against the remade
table including the index.

Thanks Moshe Dicker for the report, David Sanders and Mariusz Felisiak for the
review.

Backport of d048f0d311 from main.
2024-04-16 17:31:22 +02:00
Simon Charette
5d95a1c35e [5.0.x] Refs #35194 -- Adjusted a generated field test to work on Postgres 15.6+.
Postgres >= 12.18, 13.14, 14.11, 15.6, 16.2 changed the way the immutability
of generated and default expressions is detected in postgres/postgres@743ddaf.

The adjusted test semantic is presereved by switching from __icontains to
__contains as both make use of a `%` literal which requires proper escaping.

Refs #35336.

Thanks bcail for the report.

Backport of 73b62a2126 from main.
2024-04-12 14:59:01 +02:00
Sarah Boyce
f075a19e85 [5.0.x] Fixed #35350 -- Fixed save() with pk set on models with GeneratedFields.
Thanks Matt Hegarty for the report and Simon Charette and Natalia Bidart for the reviews.

Regression in f333e35.

Backport of 8b53560eea from main.
2024-04-10 15:55:30 +02:00
Mariusz Felisiak
d859c0be9c [5.0.x] Refs #35336 -- Fixed SchemaTests.test_add_generated_field_contains() test on PostgreSQL.
Concat() in Django 5.0 is not immutable on PostgreSQL and cannot be used
in GeneratedField, see 6364b6ee10.
2024-04-05 09:14:35 -03:00
Simon Charette
fead2dd523 [5.0.x] Fixed #35336 -- Addressed crash when adding a GeneratedField with % literals.
A longer term solution is likely to have a better separation of parametrized
DDL altogether to handle checks, constraints, defaults, and generated fields
but such a change would require a significant refactor that isn't suitable
for a backport.

Thanks Adrian Garcia for the report.

Backport of 888b9042b3 from main
2024-04-02 17:34:38 -03:00
Johannes Westphal
14ab15d69a [5.0.x] Fixed #35344, Refs #34838 -- Corrected output_field of resolved columns for GeneratedFields in aliased tables.
Thanks Simon Charette for the review.

Backport of 5f18021640 from main
2024-04-01 22:14:52 -03:00
Mariusz Felisiak
345e3cf57f [5.0.x] Fixed #35329 -- Fixed migrations crash when adding partial unique constraints with nulls_distinct.
Bug in 595a2abb58.

Thanks Lucas Lemke Saunitti for the report.
Backport of b98271a6e4 from main
2024-03-26 22:59:23 +01:00
Johannes Maron
8fd953f28a [5.0.x] Fixed #35273 -- Fixed rendering AdminFileWidget's attributes.
Regression in 8a6c0203c4.

Backport of e69019555d from main
2024-03-14 20:37:53 +01:00
Ben Cail
5f07460a67 [5.0.x] Fixed #35223 -- Made Model.full_clean() ignore fields with db_default when validating empty values.
Thanks Brian Ibbotson for the report.

Regression in 7414704e88.

Backport of 1570ef02f3 from main.
2024-03-08 06:46:40 +01:00
Shai Berger
3394fc6132 [5.0.x] Fixed CVE-2024-27351 -- Prevented potential ReDoS in Truncator.words().
Thanks Seokchan Yoon for the report.

Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2024-03-04 08:22:40 +01:00
Shafiya Adzhani
80761c3b01 [5.0.x] Fixed #35198 -- Fixed facet filters crash on querysets with no primary key.
Thanks Simon Alef for the report.

Regression in 868e2fcdda.

Backport of a738281265 from main
2024-02-29 10:37:26 +01:00