{"answers":{"affected":"","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-108390 exists.","fix":"No fix has been published for CVE-2026-108390 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-108390 is a critical code injection vulnerability in hestiacp, published on 14 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-108390 and fix it if it is affected.\n\nWhat it is: CVE-2026-108390 is a critical code injection vulnerability in hestiacp, published on 14 Oct 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-108390 exists.\n\nAffected product: hestiacp. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-108390/ (Markdown: https://insights.sbomify.com/CVE-2026-108390/index.md)","id":"CVE-2026-108390","markdown":"https://insights.sbomify.com/CVE-2026-108390/index.md","name":"CVE-2026-108390","record":{"aliases":["GHSA-r9q4-pmcm-5qqf"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["code_execution","privilege_escalation"],"network_reachable":"yes","non_default_config":false,"product_category":"HestiaCP control panel","requires_auth":"low_privilege","summary":"Low-privileged users can achieve root code execution by injecting PATH variables into configuration files and hijacking the search command.","user_interaction":"not_required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":9.9,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-88","name":"Improper Neutralization of Argument Delimiters in a Command"},{"id":"CWE-427","name":"Uncontrolled Search Path Element"}],"description":"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":false,"headline":"HestiaCP Low-Privileged User to Root via Config-Field Injection and PATH Hijacking","id":"CVE-2026-108390","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"code_injection","year":"2026"},"n_packages":0,"n_references":3,"next":{"headline":"Model Context Protocol Java SDK HTTP server transports allow memory exhaustion through unbounded request bodies","id":"CVE-2026-108395"},"packages":[],"prev":{"headline":"Indico legacy contribution export cache poisoning discloses restricted metadata","id":"CVE-2026-108388"},"products":["hestiacp"],"published":"2026-10-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"poc","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-10-14","vendors":["hestiacp"]},"summary":"Low-privileged users can achieve root code execution by injecting PATH variables into configuration files and hijacking the search command.","url":"https://insights.sbomify.com/CVE-2026-108390/"}