Skip to main content

Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

CVE-2024-53908

Severity High
Score 9.2/10

Summary

An issue was discovered in Django versions 3.1a1 through 4.2.16, 5.0a1 through 5.0.9, and 5.1a1 through 5.1.3. 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.)

  • LOW
  • NETWORK
  • HIGH
  • UNCHANGED
  • NONE
  • NONE
  • HIGH
  • HIGH

CWE-89 - SQL Injection

Structured Query Language (SQL) injection attacks are one of the most common types of vulnerabilities. They exploit weaknesses in vulnerable applications to gain unauthorized access to backend databases. This often occurs when an attacker enters unexpected SQL syntax in an input field. The resulting SQL statement behaves in the background in an unintended manner, which allows the possibility of unauthorized data retrieval, data modification, execution of database administration operations, and execution of commands on the operating system.

Advisory Timeline

  • Published