HexBrain

Internet Bug Bounty · Report #2882887

CVE-2024-53908: Django Potential SQL injection in `HasKey(lhs, rhs)` on Oracle

Validstatus
highseverity
61upvotes
7 Feb 2025disclosed

Summary

CVE-2024-53908: Potential SQL injection in HasKey(lhs, rhs) on Oracle

Direct usage of the django.db.models.fields.json.HasKey lookup on Oracle is subject to SQL injection if untrusted data is used as a lhs value. Applications that use the jsonfield.has_key lookup through the __ syntax are unaffected.

Thanks to Seokchan Yoon for the report.

This issue has severity "high" according to the Django security policy.

How it was found

I've found a potential SQL Injection vulnerability and reported it to the Django team. You can find detailed information at the following link:

Direct usage of the django.db.models.fields.json.HasKey lookup on Oracle is subject to SQL injection if untrusted data is used as a lhs value. Applications that use the jsonfield.has_key lookup through the __ syntax are unaffected.

Impact

This vulnerability could potentially allow an attacker to execute arbitrary SQL commands, leading to unauthorized access, data manipulation, or information disclosure. The issue affects the Django Framework, particularly when using the HasKey lookup on Oracle databases.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original