An issue was discovered in Django 2.2 before 2.2.28, 3.2 before 3.2.13, and 4.0 before 4.0.4. QuerySet.annotate(), aggregate(), and extra() methods are subject to SQL injection in column aliases via a crafted dictionary (with dictionary expansion) as the passed **kwargs.
{
"binaries": [
{
"binary_version": "1.8.7-1ubuntu5.15+esm5",
"binary_name": "python-django"
},
{
"binary_version": "1.8.7-1ubuntu5.15+esm5",
"binary_name": "python-django-common"
},
{
"binary_version": "1.8.7-1ubuntu5.15+esm5",
"binary_name": "python3-django"
}
],
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"
}
{
"binaries": [
{
"binary_version": "1:1.11.11-1ubuntu1.17",
"binary_name": "python-django"
},
{
"binary_version": "1:1.11.11-1ubuntu1.17",
"binary_name": "python-django-common"
},
{
"binary_version": "1:1.11.11-1ubuntu1.17",
"binary_name": "python3-django"
}
],
"availability": "No subscription required"
}