
CyberPanel 인증 RCE < 2.3.8
CyberPanel 인증된 OS 명령 주입
CyberPanel 2.3.8 미만 버전은 OS 명령 주입에 취약합니다. 이 취약점을 악용하려면 공격자가 먼저 웹패널에 로그인해야 합니다.
CyberPanel 2.3.7
공격자는 HTTP OPTIONS 요청을 사용하여 CyberPanel 애플리케이션을 실행 중인 웹서버에 임의 명령을 실행하도록 지시할 수 있습니다. 이 취약점은 /websites/submitWebsiteCreation 엔드포인트에 있습니다.
이 엔드포인트는 /websiteFunctions/views.py 파일에 있는 submitWebsiteCreation 함수를 호출합니다.
이 함수는 /websiteFunctions/website.py 파일에 있는 wm.submitWebsiteCreation 함수를 추가로 호출합니다. 이 함수는 함수 내에서 사용되는 다섯 개의 매개변수를 추출합니다:
- domain;
- adminEmail;
- phpSelection;
- packageName;
- websiteOwner;
이 매개변수들은 이후 이를 실행하는 함수로 직접 전달됩니다:
개념 증명(PoC) 코드는 이 저장소에 링크된 cyberpanel.py 파일에서 찾을 수 있습니다.
이 개념 증명은 시스템 어디든 루트 권한으로 파일을 쓸 때 사용할 수 있습니다:
이는 완전한 장치 손상으로 이어질 수 있습니다. 장치의 CyberPanel 설치 폴더에 접근할 수 있다면, 웹 패널을 통해 데이터를 더 쉽게 추출할 수 있습니다.
취약점 발견 과정을 설명하는 분석 보고서는 다음에서 확인할 수 있습니다: https://thottysploity.github.io/posts/cve-2024-53376
30.10.2024 - 취약점 식별
31.10.2024 - CyberPanel 소유자 Usman Nasir에게 연락
02.11.2024 - Usman이 문제를 수정하고 패치를 게시
03.11.2024 - MITRE에 CVE-ID 요청
23.11.2024 - MITRE가 CVE-ID 2024-53376 예약
15.12.2024 - CVE-2024-53376 공개 게시