Go 언어, 15년 만에 JSON API 전면 교체…보안 결함까지 고친다
A New Go API for JSON

Go 1.27에 encoding/json/v2와 encoding/json/jsontext 패키지가 정식 도입됐다. 기존 v1은 잘못된 UTF-8 허용, 중복 키 수용, 대소문자 무시 언마샬링 등 보안 취약점과 성능 한계를 안고 있었다. v2는 구문 처리(jsontext)와 의미 처리(json/v2)를 분리하고, 스트리밍 기반의 MarshalJSONTo·UnmarshalJSONFrom 인터페이스와 옵션 전달 체계를 갖춰 안전성과 유연성을 동시에 높였다.
중복된 이름이 존재하면 보편적으로 합의된 의미가 없는 JSON 값이 되며, 이는 보안 애플리케이션에서 공격자에 의해 악용될 수 있고 실제로 악용된 적도 있다(예: CVE-2017-12635).