
CVE 재현: cve-2024-0012_9474-panos_authbypass_reproduction
| CVE | 설명 | CVSS |
|---|---|---|
| CVE-2024-0012 | PAN-OS 관리 인터페이스 인증 우회 | 9.3 |
| CVE-2024-9474 | PAN-OS 권한 상승 | 6.9 |
이 취약점들을 연쇄적으로 사용하면 PAN-OS 관리 웹 인터페이스에서 인증되지 않은 원격 코드 실행이 가능해집니다.
두 취약점 모두 Operation Lunar Peek으로 추적되는 공격에서 야생에서 제로데이로 적극적으로 악용되었습니다. 해당 연구는 처음에 watchTowr에 의해 공개되었습니다.
Palo Alto Networks PAN-OS 관리 웹 인터페이스에는 두 가지 치명적인 결함이 있으며, 이들이 결합되면 공격자가 인증 없이 완전한 루트 수준 액세스 권한을 얻을 수 있습니다:
관리 웹 인터페이스는 특정 API 및 PHP 엔드포인트에 대한 인증을 제대로 검증하지 않습니다. HTTP 요청 경로를 조작함으로써(예: 경로 탐색 또는 이중 슬래시 기법) 공격자는 일반적으로 유효한 세션이 필요한 제한된 핸들러에 도달할 수 있습니다. 이로 인해 사실상 PHPRESTAPI 및 기타 내부 엔드포인트에 대한 인증되지 않은 액세스가 허용됩니다.
근본 원인은 특정 URI 패턴에 대한 세션 검사를 적용하지 않는 Nginx/Apache 라우팅 규칙에 있으며, 이를 통해 요청이 인증 미들웨어를 우회할 수 있습니다.
인증된 후(읽기 전용 또는 낮은 권한의 사용자라도) 이 취약점은 PHP 세션 직렬화 메커니즘에 존재합니다. session.save_path가 잘못 구성되어 있고 세션 파일 이름이 부분적으로 사용자에 의해 제어됩니다. 경로 탐색 시퀀스를 포함하는 세션 ID를 조작함으로써 공격자는 PHP 세션 파일을 임의의 위치(예: ../utils/webshell.php)에 쓸 수 있습니다.
웹 서버가 root로 실행되기 때문에 작성된 파일은 root 소유권을 상속받아 공격자에게 루트 수준의 웹셸을 제공합니다.
Attacker (unauthenticated)
│
├─ CVE-2024-0012 ─────────────────────────────┐
│ Bypass auth via crafted URI │
│ → Gain access to PHPRESTAPI endpoint │
│ → Create a low-privilege API key / session │
└──────────────────────────────────────────────┘
│
├─ CVE-2024-9474 ─────────────────────────────┐
│ Use obtained session/key │
│ → Send crafted PHP session ID (path traversal)│
│ → Write session file to webroot │
│ → File contains PHP code (webshell) │
└──────────────────────────────────────────────┘
│
▼
RCE as root via webshell
../ 경로 탐색이 포함된 악의적인 X-PAN- 또는 쿠키 기반 세션 ID를 세션 핸들러 엔드포인트로 전송하여 웹에서 접근 가능한 php/ 디렉터리에 PHP 페이로드를 작성합니다./php/<shell>.php에 작성된 웹셸에 접근하여 루트 권한으로 임의의 명령을 실행합니다.이 디렉터리의 exploit.py에서 두 CVE를 연쇄적으로 사용하는 동작하는 개념 증명(PoC)을 확인하세요.
| PAN-OS 버전 | 영향받는 버전 | 수정 버전 |
|---|
| 10.2 | < 10.2.12-h2 | 10.2.12-h2 |
| 11.0 | < 11.0.6-h1 | 11.0.6-h1 |
| 11.1 | < 11.1.5-h1 | 11.1.5-h1 |
| 11.2 | < 11.2.4-h1 | 11.2.4-h1 |
| 11.3 | 영향 없음 | — |
| Cloud NGFW | 영향 없음 | — |