---
id: CVE-2024-53908
aliases:
  - GHSA-m9g8-fxxm-xg86
  - BIT-django-2024-53908
  - PYSEC-2024-157
title: 'Django SQL injection in HasKey(lhs, rhs) on Oracle'
summary: 'Django SQL injection in HasKey(lhs, rhs) on Oracle'
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: django
product: django
ecosystem: pip
affected:
  - 'django >= 5.0.0, < 5.0.10'
  - 'django >= 5.1.0, < 5.1.4'
  - 'django >= 4.2.0, < 4.2.17'
  - 'django >= 5.1, < 5.1.4'
  - 'django >= 5.0, < 5.0.10'
  - 'django >= 4.2, < 4.2.17'
patched:
  - django 5.0.10
  - django 5.1.4
  - django 4.2.17
  - django 5.1.4
  - django 5.0.10
  - django 4.2.17
published: '2024-12-06'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:50:21.669814850Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-m9g8-fxxm-xg86'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2024-53908'
  - url: 'https://docs.djangoproject.com/en/dev/releases/security'
  - url: 'https://github.com/django/django'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/django/PYSEC-2024-157.yaml
  - url: 'https://groups.google.com/g/django-announce'
  - url: 'https://www.djangoproject.com/weblog/2024/dec/04/security-releases'
  - url: 'https://www.openwall.com/lists/oss-security/2024/12/04/3'
tags:
  - osv
  - pip
epss: 0.01415
epssPercentile: 0.71574
ingestedAt: '2026-09-12T03:13:01.710Z'
---

## Overview

An issue was discovered in Django 5.1 before 5.1.4, 5.0 before 5.0.10, and 4.2 before 4.2.17. Direct usage of the django.db.models.fields.json.HasKey lookup, when an Oracle database is used, is subject to SQL injection if untrusted data is used as an lhs value. (Applications that use the jsonfield.has_key lookup via __ are unaffected.)

## Affected packages

- `django >= 5.0.0, < 5.0.10`
- `django >= 5.1.0, < 5.1.4`
- `django >= 4.2.0, < 4.2.17`
- `django >= 5.1, < 5.1.4`
- `django >= 5.0, < 5.0.10`
- `django >= 4.2, < 4.2.17`

## Remediation

Upgrade to a patched release:

- `django 5.0.10`
- `django 5.1.4`
- `django 4.2.17`
- `django 5.1.4`
- `django 5.0.10`
- `django 4.2.17`
