Repository navigation
Update openpolicyagent/opa Docker tag to v1.21.3 - #29
Merged
Merged
Conversation
fajinyuan
approved these changes
Oct 20, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #29 +/- ##
=======================================
Coverage 95.79% 95.79%
=======================================
Files 5 5
Lines 857 857
=======================================
Hits 821 821
Misses 36 36 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.21.2-static-debug→1.21.3-static-debugRelease Notes
open-policy-agent/opa (openpolicyagent/opa)
v1.21.3Compare Source
v1.21.3
Bundle signature verification could be side-stepped (GHSA-g2pf-6v5v-qcc8)
An attacker able to alter bundle bytes could supply arbitrary policy and data to an OPA that was configured
to verify bundle signatures. This could happen if the attacker controls any of:
Two separate side-steps are fixed:
Issue 1. Signature verification keyed on
keyidrather than on thesigningblockOPA only required a
.signatures.jsonfile whensigning.keyidwas set, so a bundle stripped of its signature wasaccepted if only e.g.
bundles[_].signingwas set instead ofbundles[_].signing.keyid. Verification now depends onthe presence of a
signingblock, as documented;keyidonly selects which key to use.Affected:
bundles[_].signingordiscovery.signingconfigured withoutkeyid: an empty block, or one with onlyscopeorexclude_files.v1/loader,v1/compile) callingbundle.NewVerificationConfig(keys, "", ...)withan empty key id.
Not affected:
bundles[_].signing.keyidordiscovery.signing.keyid.opa run/opa eval/opa buildwith--verification-key, which defaults--verification-key-idtodefault.Passing
--verification-key-id ""explicitly was affected.keysbut nosigningblock: not a verification opt-in before or after this fix.Unsigned bundles are still accepted, and OPA now logs a warning at startup for bundles in this state.
Workaround: on affected versions, set an explicit
keyidon every bundle that must be signed:Further behaviour changes:
signingblock with no entries under the top-levelkeysis now a startup configuration error, rather than aconfiguration that rejects every signed bundle while accepting unsigned ones.
bundle.NewVerificationConfignow requires signatures by default. Embedders can opt out withWithSkipBundleVerification(true)or the new(*VerificationConfig).WithOptionalSignature().Issue 2. Unsigned delta bundle downgrade
Delta bundles skipped verification entirely, so an attacker could replace a signed snapshot bundle with an unsigned
delta bundle on the same resource. The signed policy stays active while the attacker controls any data inside the
bundle's roots. Delta bundles not supporting signing
was documented, but unenforced. OPA now rejects them with
delta bundles do not support signature verification.Affected:
signingblock, with or withoutkeyid.opa run/opa evalwith--verification-key.Not affected:
signingblock, or--skip-verify. Nothing was verified to beginwith.
Workaround: there is no configuration that makes affected versions reject delta bundles. Until upgrading, ensure
the integrity of the bundle bytes themselves: TLS terminated by OPA or a trusted hop, restricted write access to the
bundle service, artifact store and bundle persistence directory.
Bundle services that must keep serving unsigned delta bundles after upgrading can opt out per bundle with the new
bundles[_].signing.allow_unsigned_delta_bundles(ordiscovery.signing.allow_unsigned_delta_bundles) field.Snapshot bundles must still be signed.
Reported by Brian Willows (@BrianWillows, Graith Internet, graith.co.uk), authored by @johanfylling.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.