An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4. Due to an error in shallow key transformation, key and index lookups for django.contrib.postgres.fields.JSONField, and key lookups for django.contrib.postgres.fields.HStoreField, were subject to SQL injection. This could, for example, be exploited via crafted use of "OR 1=1" in a key or index name to return all records, using a suitably crafted dictionary, with dictionary expansion, as the **kwargs passed to the QuerySet.filter() function.
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component. Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those inputs to be interpreted as SQL instead of ordinary user data.
Link | Tags |
---|---|
https://docs.djangoproject.com/en/dev/releases/security/ | vendor advisory |
https://groups.google.com/forum/#%21topic/django-announce/jIoju2-KLDs | |
https://www.djangoproject.com/weblog/2019/aug/01/security-releases/ | vendor advisory |
https://seclists.org/bugtraq/2019/Aug/15 | third party advisory mailing list |
https://www.debian.org/security/2019/dsa-4498 | third party advisory vendor advisory |
http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00025.html | mailing list third party advisory vendor advisory |
https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/STVX7X7IDWAH5SKE6MBMY3TEI6ZODBTK/ | vendor advisory |
https://security.netapp.com/advisory/ntap-20190828-0002/ | |
https://security.gentoo.org/glsa/202004-17 | vendor advisory |