RATATOSKRATATOSK
로그인

OpenFGA

v1.17.1Security
2026년 6월 6일

v1.17.1은 이터레이터 캐시의 stale read 버그와 타입 이름에 '|' 문자가 포함될 때 continuation token이 깨지는 문제를 수정한 패치 릴리스입니다.

  • breaking'|' 포함 타입 이름 사용 중이라면 페이지네이션 즉시 재검증

    FGA 모델에서 '|' 문자가 들어간 타입 이름을 쓴다면, continuation token이 잘못 역직렬화되어 ListObjects 등 페이지네이션 API가 불완전하거나 잘못된 결과를 반환했을 수 있습니다. 오류 메시지 없이 조용히 깨지는 유형이라 놓치기 쉽습니다. v1.17.1로 업그레이드한 뒤 해당 타입 이름을 참조하는 페이지네이션 흐름을 반드시 재테스트하세요.

  • security캐시 stale read로 잘못된 권한 결정이 반환될 수 있었음 — 즉시 패치

    이터레이터 캐시가 쓰기 시각을 기준으로 LastModified를 설정하고 있어, 캐시 항목이 유효 기간을 초과해 살아남아 오래된 데이터를 서빙할 수 있었습니다. 권한 시스템에서 만료된 'allow' 판정이 그대로 반환되는 건 실질적인 보안 위험입니다. 캐싱을 활성화해 운영 중이라면 v1.17.1로 즉시 업그레이드하세요.

  • enhancementv2Check 폴백 제거 — 에러 처리 로직 사전 점검 필요

    기존에는 스로틀링이나 유효성 검증 오류 발생 시 v2Check가 v1 동작으로 조용히 폴백해 실제 문제가 숨겨졌습니다. 이제 해당 오류가 직접 반환됩니다. 애플리케이션이 check 오류를 묵시적으로 삼키거나 폴백 동작을 가정하고 있다면, 이전에 보이지 않던 오류가 갑자기 노출될 수 있습니다. 프로덕션 배포 전 부하 상황에서 반드시 테스트하세요.

주요 변경 (5)

  • 이터레이터 캐시 stale read 수정: LastModified 기준을 쿼리 시작 시각으로 고정해 캐시 항목이 의도보다 오래 살아남는 문제 해결
  • 타입 이름에 '|' 포함 시 continuation token 역직렬화 실패 버그 수정 — 페이지네이션 결과가 조용히 깨지던 문제
  • v2Check가 스로틀링·유효성 검증 오류 시 v1 동작으로 폴백하지 않도록 변경, 실행 시맨틱 강화
  • Go 툴체인 1.26.4 및 grpc-health-probe v0.4.52로 업그레이드
  • 캐싱 관련 공식 문서 현행화