Hestia Control Panel: Local privilege escalation to root via config injection
Summary
Hestia Control Panel versions 1.9.7 through 1.10.4 do not escape single quotes when writing a custom document root to a user's web.conf file. An authenticated low-privileged panel user with a web domain can inject a PATH field, and when the Search feature runs the root-privileged v-search-user-object script, a malicious executable named column in the injected path is run as root. Successful exploitation gives the attacker full control of the server.
Affected
- Hestia Control Panel 1.9.7 through 1.10.4
- Versions >= 1.9.7 and < 1.10.5
Fixed in
- Hestia Control Panel 1.10.5
Workaround
Unknown.
Exploitation
- Requires an authenticated panel account with a web domain (low privileges).
- CISA SSVC lists exploitation status as PoC; a public write-up exists.
- No reports of active exploitation found; CISA KEV status not verified.
Our recommendation
- Update Hestia Control Panel to version 1.10.5 or later on all affected servers.
- Until patched, restrict or disable untrusted user accounts that have web domains.
- Audit web.conf files for unexpected PATH entries and check for unexpected root processes or modified binaries in user web paths.
- Review which customers hold panel accounts and treat shared hosting setups as high priority.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- GitHub Security Advisory GHSA-r9q4-pmcm-5qqf github.com
- Fix commit 4d86018 github.com
- Researcher advisory ravindulakmina.pages.dev
- Hestia 1.10.5 release github.com
- OSV entry CVE-2026-108390 osv.dev
- OpenCVE CVE-2026-108390 app.opencve.io
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 30 Oct 2026, 15:20.
Original description (NVD)
Hestia Control Panel is a lightweight and powerful control panel for the modern web. From version 1.9.7 through 1.10.4, update_object_value() in func/main.sh does not escape single quotes when writing a custom document-root value to a user's web.conf file, allowing a low-privileged authenticated panel user with a web domain to inject an additional PATH field. When the user invokes the ordinary Search feature, the root-privileged v-search-user-object script loads the forged field through parse_object_kv_list_non_eval(), which permits reserved shell-variable names and globally replaces PATH before invoking column without an absolute path. By placing a malicious column executable in the injected search path, the user can execute arbitrary code as root. This residual vulnerability was introduced when version 1.9.7 replaced the raw eval sink addressed by CVE-2026-84984 with parse_object_kv_list_non_eval(), and it is fixed in version 1.10.5.
NVD references (4)
- https://github.com/hestiacp/hestiacp/commit/4d86018660f35a1d64a0ae819bc5ee700949a287
- https://github.com/hestiacp/hestiacp/security/advisories/GHSA-r9q4-pmcm-5qqf
- https://ravindulakmina.pages.dev/advisories/cve-2026-108390-hestiacp-apostrophe-to-root
- https://github.com/hestiacp/hestiacp/security/advisories/GHSA-r9q4-pmcm-5qqf
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
