
보안 권고: VestaCP <= 0.9.8-26 인증된 config-parser eval 싱크 -> 루트 RCE (HestiaCP GHSA-w3mx/cr7q의 선행 사례, VestaCP에 대해서는 공개된 적 없음)
eval 싱크 → 루트 RCE (VESTACP-2026-001)원본 Vesta Control Panel (VestaCP) ≤ 0.9.8-26
(github.com/serghey-rodin/vesta, vestacp.com — 2019년 9월 이후 유지보수 중단)에
대한 보안 권고: func/main.sh의 공유 구성 파서가 루트로 실행되는 v-*
스크립트 내부에서 사용자 제어 가능한 KEY='value' 줄을 eval로 평가한다 —
인증된 패널 사용자가 호스팅 노드에서 완전한 루트 권한으로 권한 상승할 수 있다.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H)이는 2026년 7월 유지보수 중인 포크 HestiaCP에서 수정된 것과 동일한
싱크 클래스이다 — CVE-2026-84981,
CVE-2026-84984,
CVE-2026-84979 —
그 조상인 원본 VestaCP에서는 공개되거나 수정된 적이 없다. 이는 또한
VestaCP의 이전 CVE들(CVE-2019-9859 PHP 계층,
CVE-2021-30462/30463 LPE 체인, CVE-2022-3967 sed 인젝션)과도 구별된다;
권고의 선행 사례 섹션을 참조하라. 프로덕션에서 여전히 VestaCP를
실행 중인 설치 기반(VPS 템플릿에 널리 배포됨)을 위해 공개되었다.
advisory/VESTACP-2026-001.md — 전체
권고: 영향받는 싱크, 익스플로잇 경로, 영향, 선행 사례, 범위,
완화 조치, 타임라인.poc/poc-eval-sink.sh — 자체 포함된 개념 증명:
조작된 conf 줄에 대해 취약한 eval 파싱을 시뮬레이션하고
강화된 파서가 이를 무력화하는 것을 보여준다. mktemp 샌드박스에서 실행되며
VestaCP 설치가 필요하지 않다.mitigation/non-eval-parser.sh — 모든
eval 지점에 대한 드롭인 parse_object_kv_list + 이식 레시피.bash poc/poc-eval-sink.sh
예상 결과: 취약한 파싱은 마커 파일을 생성하고(인젝션 실행됨); 강화된 파싱은 이를 비활성 상태로 둔다(값이 리터럴로 유지됨).
Bryan Ramirez — SYSDOP LLC · [email protected]
2026년 8월, 프로덕션 호스팅 인프라에 대한 방어적 보안 감사 중 발견됨. 2026년 10월 공개됨.