RATATOSKRATATOSK
로그인

NATS

v2.12.12Networking & Messaging
2026년 6월 30일

v2.12.12는 nats-server의 버그 수정 및 안정화 릴리스로, JetStream/Raft 데이터 정합성과 패닉 관련 수정이 다수 포함되었고 모니터링 엔드포인트의 JSONP 지원이 제거되었습니다. 별도의 CVE는 공개되지 않았지만, 잘못된 MQTT 입력으로 유발되는 메모리 소모 및 패닉 경로를 막는 수정이 포함되어 운영자는 보안 관점에서 챙겨볼 필요가 있습니다.

  • breaking모니터링 엔드포인트 JSONP 지원 제거

    v2.12.12에서 모니터링 엔드포인트의 JSONP 콜백 지원이 무조건 제거되었습니다. /varz, /connz 등에 JSONP 콜백으로 접근하던 도구나 대시보드는 동작하지 않으며, 일반 JSON 요청으로 전환해야 합니다.

  • securityMQTT 부분 CONNECT / PUBLISH 언더플로 크래시 수정

    MQTT를 사용 중이라면 업그레이드를 권장합니다. 부분 CONNECT 패킷으로 인증 전 메모리를 소모시킬 수 있는 문제와 PUBLISH remaining-length 언더플로로 서버가 패닉하는 문제가 수정되었습니다. 둘 다 인증되지 않은 클라이언트가 잘못된 입력만으로 유발할 수 있습니다.

  • security모니터링/JetStream 사용량 추적의 정수 오버플로 패닉 수정

    CONNZ/SUBSZ 페이지네이션에서 정수 오버플로로 패닉이 발생하던 문제와 JetStream 원격 사용량 갱신 중 길이 정수 오버플로 패닉이 수정되었습니다. 대규모 클러스터나 모니터링 폴링이 빈번한 환경은 업그레이드로 이 패닉 경로를 제거할 수 있습니다.

주요 변경 (8)

  • 모니터링 엔드포인트의 JSONP 콜백 지원 제거 (아직 JSONP를 쓰는 도구에는 breaking change)
  • MQTT 강화: 부분 CONNECT의 인증 전 메모리 소모 차단, PUBLISH remaining-length 언더플로 패닉 수정, $MQTT.deliver.pubrel 구독 남용 차단, 보존/QoS 리플레이 경로에서 deny 규칙 적용, MQTT 비활성 시 WebSocket /mqtt 업그레이드 패닉 수정
  • JetStream/Raft 데이터 정합성 관련 대규모 수정: filestore 압축 손상, 카운터 스트림 스테이징 손상, 메타 복구 시 유령 스트림/컨슈머, raft 체크포인트/ApplyCommit 정확성, 스트림 캐치업 디싱크, truncate/snapshot 시 멤버십 롤백
  • CONNZ/SUBSZ 페이지네이션과 JetStream 원격 사용량 갱신의 정수 오버플로 패닉 수정, resolver 상위 디렉터리가 없을 때 시작 시 발생하던 nil 포인터 패닉 수정
  • 인증, 라우팅, 모니터링, 클러스터 요청 처리 전반의 패닉/치명적 오류/데이터 레이스 다수 수정
  • 게이트웨이/프록시 관련 수정: 게이트웨이 CONNECT 처리 중 레이스, 신뢰 프록시 추적 중 누수, PROXY 프로토콜 감지, allow_non_tls TLS 스니핑, PROXY v1 주소 체계 파싱
  • 서비스 임포트 응답이 클러스터 라우트 간에도 전달되도록 수정, 임포트/익스포트에서 메시지 트레이싱 정상화, 계정 클레임 갱신 시 JWT 상속 기본 권한과 외부 인증 설정도 올바르게 갱신되도록 수정
  • 그 외 일상적 수정: 연결별 로그를 디버그 레벨로 조정, s2_fast 압축 모드에서 writer 옵션 일관성 확보, 마이그레이션을 위한 스트림/컨슈머 할당 처리 리팩터링