펜리젠트 헤더

CVE-2025-58034 PoC 및 기술 분석: 포티넷 포티웹 인증 OS 명령 인젝션

CVE-2025-58034는 인증된 OS 명령 인젝션 취약점(CWE-78) in 포티넷 FortiWeb 웹 애플리케이션 방화벽(WAF). 영향을 받는 버전에서 로그인한 공격자는 다음을 통해 기본 시스템에서 무단 명령 실행을 트리거할 수 있습니다. 조작된 HTTP 관리 요청 또는 CLI 명령어. 포티넷은 다음을 확인했습니다. 야생에서의 활발한 착취그리고 CISA는 이 CVE를 알려진 익스플로잇 취약점(KEV) 카탈로그의 경우 기본 CVSS 점수가 "중간"이지만 패치가 시급합니다. (FortiGuard)

포티웹 어플라이언스는 보안 경계에 위치하며, 공격자는 WAF에서 명령 실행이 가능해지면 보호 기능을 비활성화하고 정책을 변조하며 애플리케이션 네트워크에 더 깊숙이 침투할 수 있습니다. 이러한 경계 위치 때문에 FortiWeb의 사후 인증 RCE는 CVSS 벡터의 PR:H에도 불구하고 운영적으로 높은 영향을 미칩니다. (NVD)

영향을 받는 버전 및 수정된 버전

포티넷의 PSIRT 자문과 NVD는 취약한 범위에 대해 동의합니다. (FortiGuard)

포티웹 브랜치영향을 받는 버전고정 버전
8.0.x8.0.0 - 8.0.18.0.2+
7.6.x7.6.0 - 7.6.57.6.6+
7.4.x7.4.0 - 7.4.107.4.11+
7.2.x7.2.0 - 7.2.117.2.12+
7.0.x7.0.0 - 7.0.117.0.12+

다음이 있습니다. 공개적으로 권장되는 신뢰할 수 있는 해결 방법 없음 관리 노출을 제거하고 패치를 적용하는 것 이상의 효과를 기대할 수 없으므로 업그레이드가 주요 완화책입니다. (FortiGuard)

CVE-2025-58034 펜리전트

근본 원인 및 공격 표면

이 취약점은 다음에서 비롯됩니다. OS 명령 컨텍스트에서 특수 요소의 부적절한 무력화즉, FortiWeb은 공격자가 제어하는 입력을 적절한 이스케이프 없이 나중에 시스템 수준 명령 실행에 포함시키는 것을 허용합니다. 공급업체는 이 문제가 다음에서 발생한다고 지적합니다. API 및 CLI 구성 요소 모두매개 변수를 연결하여 하나 이상의 관리 작업을 빌드하는 셸 명령을 강력하게 제안합니다. (FortiGuard)

익스플로잇에는 인증이 필요하기 때문에 가장 현실적인 경로는 관리자 자격 증명의 손상 또는 재사용(취약한 비밀번호, 공유 계정, 노출된 관리 UI 또는 도난 세션), 그리고 명령 인젝션을 통해 디바이스를 완전히 제어하는 것입니다. 실제 사고에서 이러한 '인증 후 단계'가 바로 FortiWeb 침해가 큰 피해를 입히는 이유입니다. (Rapid7)

심각도 및 "중간"이 여전히 "지금 패치"를 의미하는 이유

NVD는 CVSS v3.1을 다음과 같이 나열합니다: AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H 점수로 6.7. (NVD)

서류상으로는 PR:H가 점수를 낮춥니다. 실제로는 두 가지 사실이 '중간' 라벨보다 우선합니다:

  1. 포티넷은 CVE가 다음과 같다고 말합니다. 야생에서 활발히 악용되고 있습니다.. (FortiGuard)
  2. CISA KEV 포함은 실제 공격자의 가치를 알리고 미국 연방 시스템에 대한 신속한 수정(보통 수일 이내)을 의무화합니다. (CISA)

따라서 CVE-2025-58034를 다음과 같이 취급하십시오. 높은 우선순위 기본 점수에 관계없이

방어적 탐지

아래 예시는 노출을 식별하는 데 도움이 됩니다. 익스플로잇 경로를 제공하지 않고.

1) FortiWeb 버전(CLI) 확인

# FortiWeb CLI에서 시스템 상태 인쇄
시스템 상태 가져오기
# 다음을 찾습니다: "Version: FortiWeb vX.Y.Z"

2) SSH 배너를 통한 패시브 버전 프로브

"""
SSH 배너를 통한 수동 FortiWeb 버전 프로브.
공격 페이로드가 없으며 인증된 인벤토리 검사에 안전합니다.
"""
가져오기 소켓, 다시

def probe_ssh_banner(host, port=22, timeout=3):
    s = socket.socket()
    s.setimeout(timeout)
    s.connect((host, port))
    banner = s.recv(4096).decode(errors="ignore")
    s.close()
    반환 배너

def extract_version(text):
    m = re.search(r"FortiWeb[-\\s]?v?(\\d+\\.\\d+\\.\\d+)", text, re.I)
    반환 m.group(1) if m else None

host = "YOUR_FORTIWEB_IP"
banner = probe_ssh_banner(host)
ver = extract_version(banner)

print("배너:", banner.strip())
print("FortiWeb 버전:", ver 또는 "알 수 없음")

3) 영향을 받는 범위와의 매치

"""
탐지된 FortiWeb 버전을 영향을 받는 범위와 비교합니다.
"""
패키징 가져오기 버전에서

AFFECTED = [
    ("8.0.0", "8.0.1"),
    ("7.6.0", "7.6.5"),
    ("7.4.0", "7.4.10"),
    ("7.2.0", "7.2.11"),
    ("7.0.0", "7.0.11"),
]

def in_affected_ranges(v: str) -> bool:
    v = version.parse(v)
    AFFECTED의 lo, hi에 대해:
        if version.parse(lo) <= v <= version.parse(hi):
            return True
    반환 False

test_ver = "7.4.8"
print(test_ver, "affected?", in_affected_ranges(test_ver))

위협 헌팅: 살펴봐야 할 사항

야생에서 익스플로잇이 확인된 경우, 자격 증명 오용과 명령 실행의 증거를 찾아야 합니다. Rapid7 및 공급업체 지침에서는 패치 후 로그 검토 및 구성 무결성 검사를 강조합니다. (Rapid7)

실용적인 신호는 다음과 같습니다:

  • 신규 또는 비정상적인 관리자 로그인 (특히 낯선 IP나 이상한 시간대에),
  • 예기치 않은 관리 API 활동,
  • 의심스러운 하위 프로세스 포티웹 서비스에 의해 생성됩니다,
  • 정책/구성 변경 사항 변경 창과 일치하지 않습니다. (Rapid7)

경량 로그 분류 예시:

# 관리자 로그인 이상 검색
grep -Ei "admin|login|cli" /var/log/* 2>/dev/null | tail -n 200

# 명령 실행 스타일 추적 찾기
grep -Ei "exec|shell|system\\(|popen|cmd" /var/log/* 2>/dev/null | tail -n 200

신뢰할 수 있는 징후를 발견하면 포렌식 캡처, 자격 증명 회전, 알려진 정상 이미지에서 재구축을 고려하는 등 해당 기기를 손상된 것으로 취급하세요.

CVE-2025-58034 펜리전트

완화 지침

포티넷의 공식 입장은 간단합니다: 즉시 고정 릴리스로 업그레이드를 클릭한 다음 무결성을 확인합니다. (FortiGuard)

이와 동시에 관리 영역을 강화하여 폭발 반경을 줄이세요: 신뢰할 수 있는 IP 범위 또는 내부 네트워크로 웹 UI/API/SSH 액세스를 제한하고 MFA와 강력한 자격증명 위생을 시행하세요. 이는 노출된 관리 인터페이스가 실제 위험을 증가시킨다는 공급업체의 모범 사례 경고와도 일치합니다. (TechRadar)

CVE-2025-58034가 중요한 이유

FortiWeb은 방어적인 초크 포인트 역할을 합니다. 로그인한 공격자가 WAF 자체를 명령 실행으로 유도할 수 있다면, 사실상 경계를 잃고 공격자에게 권한 있는 네트워크 거점을 넘겨준 것입니다. 이미 익스플로잇이 관찰되고 KEV 상태가 할당된 상태입니다, 여기서 지연은 적입니다. (Rapid7)

많은 고객 환경을 관리하고 대규모로 버전과 패치 우선순위를 검증해야 하는 경우, 사람이 직접 수행하는 자동화 워크플로(예: Penligent)를 사용하면 위험한 익스플로잇 시도를 탐지하지 않고도 FortiWeb 자산을 인벤토리화하고, 로그를 상호 연관시키고, 신속하게 수정 보고서를 작성할 수 있습니다.

게시물을 공유하세요:
관련 게시물
ko_KRKorean