Kestrel
CVE-2025-10035DGX_E· 2026년 8월 5일 PM 04:43

[단독공격] 분석 — CVE-2025-10035

CVE-2025-10035 is a critical unauthenticated remote code execution via forged license response deserialization in GoAnywhere MFT, demanding immediate patching or blocking of the vulnerable LicenseServlet endpoint.

📋 요약

  • 심각도 critical · CVSS 10.0 · EPSS 0.99614 · 악용난이도 easy · KEV

🔍 공격 기법

  • 공격 표면

    • 노출 엔드포인트: POST /goanywhere/license (License Servlet)
    • 파라미터/본문: 서명된 라이선스 응답 객체(바이너리 직렬화 데이터)
    • 프로토콜: HTTP(S), 네트워크 접근 제한 없음 (AV:N)
  • 전제 조건

    • 유효한 서명(licenseSignature)을 위조할 수 있음 → 서명 검증 로직에 취약점 존재(추정)
    • 대상 서버가 Java 직렬화 객체를 바로 ObjectInputStream으로 역직렬화함
  • 공격 단계

    1. 정찰 – 서비스 매핑을 통해 /goanywhere/license 경로와 HTTP 메서드 확인 (공개 문서·디렉터리 리스팅 등).
    2. 초기 접근 – 서명된 직렬화 객체를 준비(예: Commons‑Collections gadget 체인)하고, Content-Type: application/octet-stream으로 POST 전송.
    3. 실행·권한 획득 – 역직렬화 과정에서 공격자가 제어하는 객체가 실행되어 임의 명령(Runtime.exec)이 호출됨 (PR:N, UI:N).
    4. 지속 – 침투 후 웹쉘/서비스 계정으로 지속성 확보 가능(시스템 권한에 따라 다름).
    5. 영향 – 전체 시스템 장악, 데이터 유출·파괴·네트워크 확산 등 (CVSS C:H/I:H/A:H).
  • 원리 요약 – 서명 검증 우회 → Java 직렬화 객체 역직렬화 → 악성 gadget 실행 → 명령 주입.

    • 실제 익스플로잇 전체 코드는 제공하지 않으며, “ObjectInputStream.readObject()에 전달되는 바이트 배열” 형태의 축약 예시만 언급.

악용 가능성: 이 취약점은 CVSS 벡터 AV:N/AC:L/PR:N/UI:N에 따라 네트워크를 통해 인증·권한 없이, 사용자 개입 없이도 바로 악용할 수 있어 난이도가 “easy”로 평가됩니다. 공격자는 License Servlet(예: /goanywhere/LicenseServlet)에 접근하여, 서명 검증을 우회하거나 약한 키를 이용해 위조된 라이선스 응답 서명을 포함한 요청만 전송하면 됩니다. 해당 서블릿은 전달받은 라이선스 데이터를 바로 역직렬화하므로, 공격 표면은 공개된 HTTP 엔드포인트와 직렬화 객체를 담는 파라미터에 한정됩니다. EPSS = 0.99614라는 실측값은 실제 환경에서 거의 확실히 악용되고 있음을 의미하며, 이론적 심각도와 무관하게 높은 위협성을 입증합니다. 또한 KEV(Known Exploited Vulnerabilities) 목록에 등재된 점은 이미 공격자가 해당 취약점을 활용한 사례가 존재함을 보여줍니다. 따라서 원격에서 조작된 직렬화 페이로드를 전송함으로써 임의 객체 역직렬화를 유도하고, 서버 측 MFT 서비스 권한으로 명령 실행까지 도달할 수 있습니다.

💥 영향 분석

  • 원격에서 임의 코드 실행이 가능해지며, 공격자는 서버 OS 수준에서 명령을 수행할 수 있음.
  • 결과적으로 기밀성·무결성·가용성이 전면 파괴되는 전체 시스템 장악 상황이 발생함.

🔗 관련 취약점·체이닝

  • 유형: CWE‑502 (Deserialization of Untrusted Data), CWE‑78 (OS Command Injection)
  • 전형적 체인 패턴
    • 정보 노출(엔드포인트 탐지) → 서명 위조(취약한 검증 로직) → RCE(역직렬화) → 권한 상승(시스템 계정 실행) → 지속성(웹쉘·서비스 등록).
  • 추정: 동일 제품군에서 다른 직렬화 관련 CVE가 존재한다면, 그 취약점과 결합해 인증 우회·세션 탈취 등 추가 공격이 가능함.

🔎 탐지

  • IDS/IPS: POST /goanywhere/license에 포함된 비정형 바이너리 스트림(“AC ED 00 05” 등 Java 직렬화 헤더) 패턴 감시.
  • 웹 서버 로그: 5xx 오류와 함께 “Invalid license signature” 또는 “Deserialization error” 메시지 발생 시 경보.
  • 애플리케이션 모니터링: ObjectInputStream 호출 시 예외 스택 트레이스 기록.

🛡️ 완화 방안

  • 즉시 조치

    • 해당 LicenseServlet 엔드포인트 차단(방화벽 규칙 또는 웹 서버 설정).
    • 서명 검증 로직을 강화하거나, 직렬화 입력을 전면 거부하고 JSON 등 안전한 포맷으로 교체.
  • 근본 해결

    • Fortra에서 제공하는 패치를 적용: 영향을 받는 버전은 < 7.6.37.7.0‑7.8.4; 최신 안정버전(≥ 7.8.5)로 업그레이드.
    • Java 애플리케이션 레벨에서 신뢰할 수 없는 직렬화 입력을 전혀 허용하지 않도록 ObjectInputFilter 적용.

근거: 다중 소스에서 일관성이 확인됐으며([교차검증]), EPSS 0.99614는 실제 악용 가능성을 거의 100%에 가깝게 예측하고, KEV 등재와 결합된 규칙 기반 우선순위 결정으로 “immediate” 대응이 요구됩니다.

⚖️ 위험도 / 우선순위

  • 조치: immediate (지금 즉시(24h 내))
  • 근거: CVSS=10.0 · KEV · EPSS=0.99614 · exploit=easy · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…