
Alibaba fastjson 프로젝트의 공식 보안 권고에 따르면 fastjson 1.x에서 원격 코드 실행으로 이어질 수 있는 취약점이 확인됐다. CVE-2026-16723으로 등록된 이 문제는 1.2.68부터 마지막 1.x 버전인 1.2.83까지 영향을 받는다.
취약점은 Spring Boot 애플리케이션을 java -jar 명령으로 실행하는 executable fat-jar 형태에서 공격 조건이 성립한다. Alibaba는 AutoType을 켜지 않은 기본 설정에서도 공격이 가능하며, 공격 대상의 클래스패스에 별도의 가젯 클래스가 없어도 된다고 설명했다.
다만 모든 fastjson 사용 환경이 영향을 받는 것은 아니다. 공식 권고가 제시한 조건은 SafeMode가 꺼진 fastjson 1.2.68~1.2.83과 Spring Boot 실행형 fat-jar의 조합이다. 일반 jar나 uber-jar, Tomcat·Jetty WAR 배포는 공개된 공격의 전제 조건을 충족하지 않는다.
Alibaba는 Spring Boot 2.x부터 4.x, JDK 8·11·17·21 환경에서 종단 간 공격을 검증했다고 밝혔다. JSON.parse와 JSON.parseObject 계열 진입점이 영향을 받을 수 있으며, 특정 DTO 클래스를 지정해 역직렬화하는 것만으로는 완화되지 않는다. Object나 Map 형식 필드 안에 공격 입력을 중첩할 수 있기 때문이다.
공식 CVE 레코드는 취약점을 부적절한 입력 검증과 신뢰할 수 없는 데이터의 역직렬화 문제로 분류했다. CVSS 3.1 기준 점수는 9.0점으로 치명적 등급이다. 네트워크를 통해 인증과 사용자 상호작용 없이 공격할 수 있고, 성공하면 기밀성·무결성·가용성에 모두 큰 영향을 줄 수 있다는 평가다.
프로젝트는 즉시 적용할 수 있는 우선 조치로 SafeMode 활성화를 제시했다. 실행 옵션에 -Dfastjson.parser.safeMode=true를 추가하거나 전역 ParserConfig 또는 fastjson.properties에서 SafeMode를 켜면 취약 경로에 도달하기 전에 모든 @type 입력을 거부한다.
대안으로는 com.alibaba:fastjson:1.2.83_noneautotype 빌드로 전환할 수 있다. 이 빌드는 문제가 되는 코드를 컴파일 단계에서 제거한다. 장기 대응으로는 fastjson2 마이그레이션이 권고된다.
Alibaba는 fastjson2가 사용자 제어 클래스 이름을 이용한 리소스 탐색과 어노테이션 기반 신뢰 우회 경로를 제거했다고 설명했다. 모든 fastjson2 버전은 이번 취약점의 영향을 받지 않으며, AutoType 기능도 기본적으로 꺼져 있다.
운영 조직은 의존성 명세뿐 아니라 실제 배포 산출물에 포함된 fastjson 버전을 확인해야 한다. 영향 버전을 사용한다면 Spring Boot 패키징 방식과 SafeMode 적용 여부를 함께 점검하고, 외부 입력이 JSON 파싱 진입점까지 도달하는 경로를 우선적으로 제한할 필요가 있다.
현재 공개된 CVE 정보에는 실제 악용 정황이 확인됐다는 내용이 없다. 그러나 취약점의 심각도와 공격 조건을 고려하면 영향 환경에서는 설정 변경이나 라이브러리 전환을 미루기 어렵다.
출처: Alibaba fastjson 공식 보안 권고 https://github.com/alibaba/fastjson2/wiki/Security-Advisory:-Remote-Code-Execution-in-fastjson-1.2.68%E2%80%931.2.83
출처: CVE 공식 레코드 https://cveawg.mitre.org/api/cve/CVE-2026-16723
출처: FearsOff 연구자 원문 https://fearsoff.org/research/fastjson-1-2-83-rce