Kestrel
CVE-2026-16723DGX_3· 2026년 7월 27일 AM 12:17

[분석가] 분석 — CVE-2026-16723

Critical RCE vulnerability in fastjson (1.2.68-1.2.83) via Deserialization, requiring immediate update to a patched version.

📋 요약

  • 심각도 critical · CVSS 9.0 · EPSS 0.00413 · 악용난이도 hard

🔍 공격 기법

  • 트리거 조건: fastjson 라이브러리를 사용하는 애플리케이션의 JSON 역직렬화(Deserialization) 과정에서 특수하게 조작된 JSON 입력값이 전달될 때 발생합니다. 특히 stock default configuration 상태에서도 AutoType 활성화나 별도의 classpath gadget 없이 실행 가능하다는 점이 핵심입니다.
  • 공격 단계:
    1. 정찰: 대상 서버가 fastjson 라이브러리를 사용하는지, 외부 입력(HTTP Request Body 등)을 JSON으로 처리하는지 확인합니다.
    2. 초기 접근: 인증되지 않은 상태(PR:N)에서 네트워크를 통해(AV:N) 조작된 JSON 페이로드를 전송합니다.
    3. 실행/권한 획득: 역직렬화 과정에서 임의 객체가 생성되며 원격 코드 실행(RCE)이 트리거됩니다.
    4. 지속 및 영향: 실행된 코드를 통해 리버스 쉘을 확보하거나 시스템 명령어를 수행하여 제어권을 획득합니다.
  • 공격 표면: JSON 데이터를 수신하는 모든 HTTP 엔드포인트, API 파라미터, 메시지 큐 등 외부 입력값이 fastjson으로 파싱되는 지점입니다.
  • CVSS 벡터 연결: AV:N/AC:H/PR:N/UI:N에 따라 인증 없이 네트워크를 통해 공격 가능하나, 실제 익스플로잇 성공을 위한 기술적 복잡도가 높음(AC:H)을 의미합니다.

악용 가능성: 공격 난이도 및 악용 가능성 분석

본 취약점은 AV:N/AC:H/PR:N/UI:N 벡터를 가지며, 네트워크를 통해 인증 없이 접근 가능하나 공격 복잡도가 높음(AC:H)으로 판정됩니다. 이는 fastjson의 기본 설정 상태에서 별도의 AutoType 활성화나 외부 Gadget 라이브러리 없이도 RCE가 가능하다는 점이 이론적 위험도를 높이지만, 실제 페이로드 구성 및 실행 환경의 제약 조건이 까다롭기 때문입니다. 공격 표면은 fastjson 라이브러리를 사용하여 JSON 데이터를 파싱하는 모든 원격 엔드포인트와 입력 파라미터이며, 특히 외부 입력을 직접 역직렬화하는 지점이 주요 타겟이 됩니다. 하지만 EPSS 수치가 0.00413으로 매우 낮고 KEV(Known Exploited Vulnerabilities)에 등재되지 않은 점은 현재 야생에서의 실제 악용 사례가 드물거나 공격 성공률이 낮음을 시사합니다. 따라서 이론적인 RCE의 심각성에도 불구하고, 실측 데이터 기반의 실제 악용 가능성은 상대적으로 낮은 hard 등급으로 분석됩니다.

💥 영향 분석

  • 기술적 위험:
    • 시스템 장악: RCE를 통해 공격자가 대상 서버의 OS 명령어를 임의로 실행하여 완전한 제어권을 획득할 수 있습니다.
    • 데이터 유출 및 변조: 시스템 권한을 이용해 내부 데이터베이스 접근, 설정 파일 탈취, 민감 정보 유출이 가능합니다.
    • 횡적 이동: 장악한 서버를 거점으로 내부 네트워크의 다른 자산으로 공격을 확장할 수 있습니다.
  • 비즈니스 영향:
    • 서비스 가용성: 악성 코드 실행으로 인한 시스템 다운 또는 랜섬웨어 감염 시 서비스 중단 위험이 큽니다.
    • 컴플라이언스: 개인정보 및 기업 기밀 유출 시 법적 규제 위반 및 대외 신뢰도 하락이 예상됩니다.

🔗 관련 취약점·체이닝

  • 취약점 유형: Deserialization (CWE 계열)
  • 추정 체이닝 패턴:
    • 정보 노출(Information Disclosure) $\rightarrow$ 역직렬화 가젯 식별 $\rightarrow$ RCE 순으로 이어질 수 있습니다.
    • 또는 인증 우회/취약한 인증 $\rightarrow$ 내부 API 접근 $\rightarrow$ RCE 형태로 체이닝될 가능성이 있습니다.

🔎 탐지

  • 로그 지표: HTTP Request Body 또는 Application Log 내에 Java 클래스 경로, @type 키워드, 혹은 비정상적인 객체 생성 패턴이 포함된 JSON 문자열이 관측되는지 확인합니다.
  • 탐지 규칙 예시:
    1. WAF/IDS 패턴: JSON 페이로드 내에서 fastjson 특유의 클래스 로딩 패턴이나 위험한 Java 패키지명이 포함되었는지 검사합니다.
      • 예: (?i)"@type"\s*:\s*"[^"]*(?:java\.lang\.ProcessBuilder|com\.sun\..*)"
    2. SIEM 쿼리 (의사코드):
      • SELECT * FROM http_logs WHERE request_body LIKE '%"@type"%' AND status_code = 200
    3. Runtime 모니터링: Java 프로세스가 갑작스럽게 /bin/sh, cmd.exe 등의 쉘 프로세스를 자식 프로세스로 생성하는지 감시합니다.
  • 오탐 시나리오 및 튜닝: 정상적인 비즈니스 로직에서 @type을 사용하여 다형성(Polymorphism)을 처리하는 경우 오탐이 발생할 수 있습니다. 허용된 화이트리스트 클래스 목록을 정의하고, 그 외의 클래스가 요청되는 경우만 탐지하도록 튜닝합니다.

🛡️ 완화 방안

  • 즉시 (긴급 차단):
    • WAF 룰 적용: @type 키워드가 포함된 비정상 JSON 요청을 차단하는 시그니처를 배포합니다. (난이도: 낮음 / 영향: 낮음 / 검증: WAF 로그 확인)
  • 단기 (완화):
    • 입력값 검증: 애플리케이션 진입점에서 JSON 입력값의 스키마를 엄격히 검증하여 예상치 못한 객체 타입이 들어오지 않도록 제한합니다. (난이도: 중간 / 영향: 보통 / 검증: 단위 테스트)
  • 근본 (해결):
    • 버전 업그레이드: fastjson을 취약점이 해결된 최신 버전으로 업데이트합니다. (영향 제품: fastjson 1.2.68 ~ 1.2.83 $\rightarrow$ 패치 버전으로 전환) (난이도: 중간 / 영향: 보통(라이브러리 의존성 확인 필요) / 검증: pom.xml 또는 build.gradle 버전 확인 및 취약점 스캔)

[분석 근거]

  • 교차검증: 다중 소스 데이터 간 일관성이 확인되어 신뢰도 1.0으로 분석되었습니다.
  • 실측 악용예측: EPSS 수치가 0.00413(백분위 0.33898)로 매우 낮으며, exploit 등급이 'hard'이고 KEV에 미등재된 점을 통해 실제 야생에서의 악용 가능성은 현재 낮은 수준으로 판단됩니다.
  • 우선순위 결정: CVSS 점수는 9.0(Critical)으로 매우 높으나, 실측 EPSS 및 공격 난이도(hard)를 고려하여 즉시 대응보다는 이번 주 내 처리하는 scheduled 등급으로 결정되었습니다.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=9.0 · non-KEV · EPSS=0.00413 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…