{"id":"PYSEC-2020-35","details":"Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter (e.g., in Django applications that offer downloads of data as a series of rows with a user-specified column delimiter). By passing a suitably crafted delimiter to a contrib.postgres.aggregates.StringAgg instance, it was possible to break escaping and inject malicious SQL.","aliases":["BIT-django-2020-7471","CVE-2020-7471","GHSA-hmr4-m2h5-33qx"],"modified":"2023-12-06T01:00:38.606116Z","published":"2020-02-03T12:15:00Z","references":[{"type":"WEB","url":"https://www.openwall.com/lists/oss-security/2020/02/03/1"},{"type":"WEB","url":"https://docs.djangoproject.com/en/3.0/releases/security/"},{"type":"WEB","url":"https://groups.google.com/forum/#!topic/django-announce/X45S86X5bZI"},{"type":"ARTICLE","url":"https://www.djangoproject.com/weblog/2020/feb/03/security-releases/"},{"type":"WEB","url":"http://www.openwall.com/lists/oss-security/2020/02/03/1"},{"type":"FIX","url":"https://github.com/django/django/commit/eb31d845323618d688ad429479c6dda973056136"},{"type":"WEB","url":"https://usn.ubuntu.com/4264-1/"},{"type":"WEB","url":"https://seclists.org/bugtraq/2020/Feb/30"},{"type":"ADVISORY","url":"https://www.debian.org/security/2020/dsa-4629"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20200221-0006/"},{"type":"ADVISORY","url":"https://security.gentoo.org/glsa/202004-17"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/4A2AP4T7RKPBCLTI2NNQG3T6MINDUUMZ/"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-hmr4-m2h5-33qx"}],"affected":[{"package":{"name":"django","ecosystem":"PyPI","purl":"pkg:pypi/django"},"ranges":[{"type":"GIT","repo":"https://github.com/django/django","events":[{"introduced":"0"},{"fixed":"eb31d845323618d688ad429479c6dda973056136"}]},{"type":"ECOSYSTEM","events":[{"introduced":"1.11"},{"fixed":"1.11.28"},{"introduced":"2.2"},{"fixed":"2.2.10"},{"introduced":"3.0"},{"fixed":"3.0.3"}]}],"versions":["1.11","1.11.1","1.11.2","1.11.3","1.11.4","1.11.5","1.11.6","1.11.7","1.11.8","1.11.9","1.11.10","1.11.11","1.11.12","1.11.13","1.11.14","1.11.15","1.11.16","1.11.17","1.11.18","1.11.20","1.11.21","1.11.22","1.11.23","1.11.24","1.11.25","1.11.26","1.11.27","2.2","2.2.1","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2.8","2.2.9","3.0","3.0.1","3.0.2"],"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/django/PYSEC-2020-35.yaml"}}],"schema_version":"1.7.3"}