Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2019-14234 — POC-Django JSONField/HStoreField SQL Injection Vulnerability (CVE-2019-14234) | Kitploit
Tools/GitHubGitHub/malvika-thakur/cve-2019-14234
Vulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationDatabase SecurityLabs & Practice
GitHubmalvika-thakur/cve-2019-14234

CVE-2019-14234

POC-Django JSONField/HStoreField SQL Injection Vulnerability (CVE-2019-14234)

View Repository
283 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

POC-Django JSONField/HStoreField SQL Injection Vulnerability Exploit (CVE-2019-14234)

Django released a security update on August 1, 2019, which fixes a SQL injection vulnerability in the two model fields of JSONField and HStoreField.

Reference link:

https://www.djangoproject.com/weblog/2019/aug/01/security-releases/ https://www.leavesongs.com/PENETRATION/django-jsonfield-cve-2019-14234.html

The vulnerability requires the developer to use JSONField/HStoreField; moreover, the field name of the queryset can be controlled. Django's built-in application Django-Admin is affected, which gives us an easy way to reproduce the vulnerability.

Start Vulnerability Application

Compile and start a vulnerable Django 2.2.3 by executing the following command:

docker compose build
docker compose up -d

After the environment is started, you can see the home page of Django at http://your-ip:8000.

Vulnerability Reproduce

First, log in to the Django-Admin http://your-ip:8000/admin/ with username admin and password a123123123.

Then go to the list-view http://your-ip:8000/admin/vuln/collection/ of the model Collection:

Add detail__a'b=123 to the GET parameter, where detail is the JSONField:

http://your-ip:8000/admin/vuln/collection/?detail__a%27b=123

You can see that the single quote has been injected successfully, and the SQL statement reports an error:

Download Tool