Open Policy Agent (OPA)
v1.19.0Security2026년 7월 30일
OPA v1.19.0은 Compile API의 SQL 주입 취약점을 수정하고 := 안전성 체크를 강화합니다(파괴적 변경). WASM 런타임을 순수 Go wazero로 교체해 시작 시간을 단축하고 오버헤드를 줄였습니다. 문자열 함수도 확장되고 REPL도 개선되었습니다.
securityCompile API의 SQL 주입(인용부호 없는 식별자) 수정
Compile API 필터 내 직접 식별자가 아닌 필드 세그먼트는 UCAST-SQL 경계에서 인용부호로 둘러싸고 이스케이프됩니다. input.fruits[input.column] 같은 동적 키 선택을 하는 정책이 대상입니다. 수정은 v1.19.0에 포함됩니다.
breaking:= 안전성 체크 강화
:= 연산자의 변수 안전성 체크가 강화되었습니다. 이전에 컴파일되던 정책 중 우변이 좌변 통일을 통해서만 안전해지는 경우 이제 rego_unsafe_var_error로 실패합니다. v1.19.0으로 업그레이드하기 전에 이에 의존하는 정책을 수정해야 합니다.
breaking인식되지 않는 설정 옵션 보고로 변경
인식되지 않는 최상위 설정 옵션이 조용히 무시되지 않고 오류로 보고됩니다. 미알려진 필드를 포함한 설정은 v1.19.0에서 파싱에 실패합니다.
주요 변경 (7)
- 보안: Compile API SQL 주입(동적 키 필터) 수정: 필드 세그먼트 인용부호 처리 및 이스케이프
- 파괴적 변경: := 연산자 안전성 체크 강화; 좌변 통일에만 의존하는 정책은 실패
- 파괴적 변경: 인식되지 않는 설정 옵션을 무시에서 보고로 변경
- WASM 런타임을 wasmtime-go에서 순수 Go wazero로 전환; C 도구 체인 불필요, 콜드 스타트 약 73% 빨라짐, 웜 평가 약 29% 빨라짐
- 새로운 문자열 함수 strings.split_n으로 분할 문자열의 처음/끝 n개 부분 추출
- REPL 행 리더를 peterh/liner에서 reeflective/readline으로 교체(브래킷 붙여넣기 지원); 히스토리 자동 JSON-lines 형식 마이그레이션
- Go 의존성 1.26.5 업데이트
Open Policy Agent (OPA) 스택에 추가
조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 보안 패치와 브레이킹 체인지 같은 것들입니다.