Open Policy Agent (OPA)
v1.19.0Security2026年7月30日
OPA v1.19.0はCompile APIのSQL注入脆弱性を修正し、特定の:=安全性チェックを厳格化(破壊的変更)します。WASMランタイムをpure-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からpure-Go wazeroに置換; Cツールチェーン不要、コールドスタート約73%高速化、ウォーム評価約29%高速化
- 新built-in関数strings.split_nで分割文字列の先頭/末尾n個を抽出
- REPL行リーダーをpeterh/linerからreeflective/readlineに置換(ブラケット貼り付けサポート); 履歴をJSON-lines形式に自動移行
- Go依存関係を1.26.5に更新
Open Policy Agent (OPA)をスタックに追加
対応が必要なリリースが出たときに、週次メールでお知らせします。 今回のセキュリティパッチと破壊的変更も、その一例です。