{"id":"CVE-2026-77878","kind":"vulnerability","aliases":["CVE-2026-77878"],"related":[],"title":"Control Web Panel: database restore route lets a request run root commands","description":"Control Web Panel (CWP) before webpanel_version 1.30 contains an OS command injection vulnerability in the loopback API database restore route /v1/restoredatabase/, where the restoreDBBackup() handler passes an attacker-controlled file path from the POST body into a shell command without proper escaping. An attacker able to reach the route can inject arbitrary OS commands that execute as root.","summary":"Control Web Panel (CWP) before webpanel_version 1.30 passes a file path from a POST request straight into a shell command in its database restore route. An attacker who can reach that route can run arbitrary operating system commands as root.","severity":"high","cvss":8.6,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["control-web-panel","hosting","linux","runtime","self-hosted"],"not_affected_if":["no-cwp-installed","webpanel-1.30-or-later"],"how_to_check":"- Check the installed CWP version in the panel or its version file; `webpanel_version` below `1.30` is affected\n- Confirm whether the loopback API route `/v1/restoredatabase/` is reachable from anywhere other than the local machine","fix":"- Move Control Web Panel to `webpanel_version` 1.30 or later","status":"open","published_at":"2026-11-02T16:17:43+00:00","first_seen_at":"2026-11-02T16:24:04+00:00","triaged_at":"2026-11-02T16:26:22+00:00","updated_at":"2026-11-02T16:26:22+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-02T16:26:22Z","model":"claude-haiku-5-5","output":{"fix":"- Move Control Web Panel to `webpanel_version` 1.30 or later","reach":"network","title":"Control Web Panel: database restore route lets a request run root commands","impact":"high","summary":"Control Web Panel (CWP) before webpanel_version 1.30 passes a file path from a POST request straight into a shell command in its database restore route. An attacker who can reach that route can run arbitrary operating system commands as root.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["control-web-panel","self-hosted","linux","hosting"],"confidence":0.6,"fix_status":"available","needs_auth":"unknown","worst_case":"Attacker runs arbitrary commands as root on the server","analyst_note":"Sources do not say whether the route needs authentication or is reachable from outside the loopback interface; check the vulnerability detail at https://nvd.nist.gov/vuln/detail/CVE-2026-77878 and the VulnCheck advisory.","how_to_check":"- Check the installed CWP version in the panel or its version file; `webpanel_version` below `1.30` is affected\n- Confirm whether the loopback API route `/v1/restoredatabase/` is reachable from anywhere other than the local machine","plain_action":"","needs_analyst":true,"not_affected_if":["webpanel-1.30-or-later","no-cwp-installed"],"who_is_affected":"Servers running Control Web Panel before `webpanel_version` 1.30 are exposed. The flaw sits in a loopback API route, so the risk depends on whether an attacker can reach that route from the network or through another local process. Hosts without CWP can skip it.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000721,"input_tokens":4180,"output_tokens":605,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-77878':15A,18A '/v1/restoredatabase':91C '1.30':36B,77C 'abl':116C 'api':87C 'arbitrari':64B,123C 'attack':56B,99C,115C 'attacker-control':98C 'bodi':106C 'command':12A,49B,67B,81C,110C,125C 'contain':78C 'control':1A,20B,29B,70C,100C 'control-web-panel':19B 'cve':13A,16A 'cwp':32B,73C 'databas':4A,52B,88C 'escap':113C 'execut':127C 'file':39B,101C 'handler':95C 'host':23B,28B 'inject':82C,122C 'let':7A 'linux':24B 'loopback':86C 'oper':65B 'os':80C,124C 'panel':3A,22B,31B,72C 'pass':37B,96C 'path':40B,102C 'post':43B,105C 'proper':112C 'reach':59B,118C 'request':9A,44B 'restor':5A,53B,89C 'restoredbbackup':94C 'root':11A,69B,129C 'rout':6A,54B,61B,90C,120C 'run':10A,63B 'runtim':25B 'self':27B 'self-host':26B 'shell':48B,109C 'straight':45B 'system':66B 'version':35B,76C 'vulner':83C 'web':2A,21B,30B,71C 'webpanel':34B,75C 'without':111C","nicknames":[],"mitigations":[],"who_affected":"Servers running Control Web Panel before `webpanel_version` 1.30 are exposed. The flaw sits in a loopback API route, so the risk depends on whether an attacker can reach that route from the network or through another local process. Hosts without CWP can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["controlwebpanel","high","hosting","linux","runtime","selfhosted"],"first_public_at":"2026-11-02T16:17:43+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-77878","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-77878","severity":null,"published_at":"2026-11-02T16:17:43+00:00","modified_at":"2026-11-02T16:17:43+00:00","first_seen_at":"2026-11-02T16:24:04+00:00","fetched_at":"2026-11-02T16:24:04+00:00","note":null}],"documents":[{"id":52773,"url":"https://www.vulncheck.com/advisories/control-web-panel-cwp-os-command-injection-via-restoredatabase-api","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}