[방어] 분석 — CVE-2026-16723
Fastjson 1.2.68‑1.2.83 allows remote code execution via deserialization without AutoType, and the fastest mitigation is to block inbound JSON requests that reach
JSON.parseObjectthrough a WAF rule.
📋 요약
- 심각도 critical · CVSS 9.0 · EPSS 0.00413 · 악용난이도 hard
🔍 공격 기법
- 공격자는 외부에서 제어 가능한 JSON 데이터를 취약 애플리케이션에 전송한다.
- Fastjson은 기본 설정(자동 타입 허용 비활성화, 클래스패스 가젯 불필요)으로 해당 JSON을 파싱하면서 내부
java.lang.Runtime.exec등 위험 메서드가 포함된 객체를 역직렬화한다. - 역직렬화 과정에서 임의 명령이 실행되어 원격 코드 실행(RCE)이 발생한다.
악용 가능성: CVSS 벡터 AV:N/AC:H/PR:N/UI:N는 원격 공격자가 인증 없이 접근할 수 있지만, 성공하려면 높은 복잡도(특정 JSON 페이로드와 클래스 경로 지식)가 요구된다는 의미이며, 이는 실제 exploitation을 어렵게 합니다. 높은 공격 복잡도는 FastJSON 1.2.68‑1.2.83의 기본 설정에서 자동 타입 활성화가 필요 없지만, 악성 JSON이 내부 클래스를 역직렬화하도록 정확히 구성되어야 하기 때문에 숙련된 공격자만 수행할 수 있습니다. EPSS 0.00413은 현재 관측된 실제 공격 빈도가 매우 낮음을 보여주며, KEV에 등재되지 않은 점도 활성화된 악성코드나 익스플로잇 키트가 존재하지 않음을 시사합니다. 이 취약점의 공격 표면은 FastJSON을 이용해 JSON을 파싱하는 모든 서비스이며, 특히 HTTP/HTTPS POST 본문이나 쿼리 파라미터 등 외부에 노출된 엔드포인트에서 나타납니다. 프로토콜 자체는 일반적인 웹 트래픽이므로 차단하기 어려운 반면, UI:N으로 사용자 조작 없이도 페이로드가 전달되면 자동으로 코드 실행이 가능합니다. 따라서
💥 영향 분석
- 성공적인 악용 시 공격자는 대상 호스트에서 임의 쉘 커맨드를 실행할 수 있다.
- 시스템 파일 열람·변조, 데이터베이스 접근, 서비스 중단(DoS), 지속적 백도어 설치 등 기밀성·무결성·가용성 모두에 심각한 위협을 가한다(CVSS 9.0, C/H/I/A H).
🔗 관련 취약점·체이닝
- Fastjson 계열에서 과거에도
AutoType비활성화만으로도 악용 가능한 Deserialization 취약점(CVE‑2020‑10673 등)이 보고된 바 있다. - 해당 취약점은 파일 업로드, SSRF, 또는 내부 API 호출을 통해 JSON 입력 경로에 도달하는 다른 취약점과 연계될 경우 공격 표면이 확대된다.
🔎 탐지
로그 지표
- 애플리케이션 로그:
com.alibaba.fastjson.JSONException혹은java.lang.Runtime.exec호출 스택 트레이스가 포함된 에러 메시지. - 시스템 감시 로그(auditd, syslog):
execve("/bin/sh", ...)와 같은 프로세스 실행 이벤트. - 웹 서버 액세스 로그: 비정상적으로 큰 JSON payload(> 1 MB) 혹은 Content‑Type이
application/json이면서 URL 파라미터에 JSON 문자열이 포함된 경우.
SIEM 탐지 규칙 예시
-
Fastjson 오류 패턴
- Source: Application 로그 (
message) - Condition:
/com\.alibaba\.fastjson\.(JSONException|JSONParseException)/ - Threshold: 5건/10분 이상 발생 시 알림
- Source: Application 로그 (
-
Runtime.exec 호출 감시
- Source: auditd (
exe,argv) - Condition:
execve.*java.*Runtime\.getRuntime\.exec(정규식) - Threshold: 단일 이벤트 → 즉시 경보
- Source: auditd (
-
대용량 JSON 입력 탐지
- Source: 웹 서버 access log (
request_body_size) - Condition:
request_body_size > 1048576 && content_type == "application/json" - Threshold: 1건/5분 → 의심 이벤트 기록
- Source: 웹 서버 access log (
오탐 튜닝
- 정상적인 관리 스크립트가 `
🛡️ 완화 방안
벤더 패치 적용과 노출면 점검을 우선하세요.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=9.0 · non-KEV · EPSS=0.00413 · exploit=hard · in_scope=None