Skip to content

Conversation

@crossplane-renovate
Copy link
Contributor

This PR contains the following updates:

Package Type Update Change
github.com/open-policy-agent/opa indirect minor v0.64.1 -> v0.68.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.

GitHub Vulnerability Alerts

CVE-2024-8260

A SMB force-authentication vulnerability exists in all versions of OPA for Windows prior to v0.68.0. The vulnerability exists because of improper input validation, allowing a user to pass an arbitrary SMB share instead of a Rego file as an argument to OPA CLI or to one of the OPA Go library’s functions.


OPA for Windows has an SMB force-authentication vulnerability in github.com/open-policy-agent/opa

CVE-2024-8260 / GHSA-c77r-fh37-x2px / GO-2024-3141

More information

Details

OPA for Windows has an SMB force-authentication vulnerability. Due to improper input validation, it allows a user to pass an arbitrary SMB share instead of a Rego file as an argument to OPA CLI or to one of the OPA Go library’s functions.

Severity

Unknown

References

This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).


OPA for Windows has an SMB force-authentication vulnerability

CVE-2024-8260 / GHSA-c77r-fh37-x2px / GO-2024-3141

More information

Details

A SMB force-authentication vulnerability exists in all versions of OPA for Windows prior to v0.68.0. The vulnerability exists because of improper input validation, allowing a user to pass an arbitrary SMB share instead of a Rego file as an argument to OPA CLI or to one of the OPA Go library’s functions.

Severity

  • CVSS Score: 6.1 / 10 (Medium)
  • Vector String: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:L

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

open-policy-agent/opa (github.com/open-policy-agent/opa)

v0.68.0

Compare Source

This release contains a mix of features and bugfixes.

Breaking Changes
entrypoint annotation implies document scope (#​6798)

The entrypoint annotation's scope requirement has changed from rule to document (https://github.com/open-policy-agent/opa/issues/6798). Furthermore, if no scope annotation is declared for a METADATA block preceding a rule, the presence of an entrypoint annotation with a true value will assign the block a document scope, where the rule scope is otherwise the default.

In practice, a rule entrypoint always point to the entire document and not a particular rule definition. The previous behavior was a bug, and one we've now addressed.

Authored by @​anderseknert

Topdown and Rego
  • ast: Fixing nil-pointer dereference in compiler for partial rule edge case (#​6930) authored by @​johanfylling
  • ast+parser: Add hint to future-proof imports (6968) authored by @​srenatus
  • topdown: Adding unification scope to virtual-cache key. Fixing issue where false positive cache hits can occur when unification "restricts" the scope of ref-head rule evaluation (#​6926) authored by @​johanfylling reported by @​anderseknert
  • topdown: Marshal JWT encode sign inputs as JSON (#​6934) authored by @​charlieegan3
Runtime, Tooling, SDK
Security Fix: CVE-2024-8260 (#​6933)

This release includes a fix where OPA would accept UNC locations on Windows. Reading those could leak NTLM hashes.
The attack vector would include an adversary tricking the user in passing an UNC path to OPA, e.g. opa eval -d $FILE.
UNC paths are now forbidden. If this is an issue for you, please reach out on Slack or GitHub issues.

Reported by Shelly Raban
Authored by @​ashutosh-narkar

Docs, Website, Ecosystem
Miscellaneous
  • build: Make it possible to build only wasm testcases (#​6920) authored by @​andreaTP
  • Dependency updates; notably:
    • build(deps): bump github.com/containerd/containerd from 1.7.20 to 1.7.21
    • build(deps): bump github.com/prometheus/client_golang from 1.19.1 to 1.20.2
    • build(deps): bump golang.org/x/net from 0.27.0 to 0.28.0
    • build(deps): bump golang.org/x/time from 0.5.0 to 0.6.0
    • build(deps): bump google.golang.org/grpc from 1.65.0 to 1.66.0

v0.67.1

Compare Source

This is a bug fix release addressing the following issue:

  • util+server: Fix bug around chunked request handling (#​6906) authored by @​philipaconrad, reported by @​David-Wobrock. A request handling bug was introduced in (#​6868), which caused OPA to treat all incoming chunked requests as if they had zero-length request bodies.

v0.67.0

Compare Source

This release contains a mix of features, a new builtin function (strings.count), performance improvements, and bugfixes.

Breaking Change
Request Body Size Limits

OPA now automatically rejects very large requests (#​6868) authored by @​philipaconrad.
Requests with a Content-Length larger than 128 MB uncompressed, and gzipped requests with payloads that decompress to
larger than 256 MB will be rejected, as part of hardening OPA against denial-of-service attacks. Previously, a large
enough request could cause an OPA instance to run out of memory in low-memory sidecar deployment scenarios, just from
attempting to read the request body into memory.

These changes allow improvements in memory usage for the OPA HTTP server, and help OPA deployments avoid some accidental out-of-memory situations.

For most users, no changes will be needed to continue using OPA. However, to control this behavior, two new configuration
keys are available: server.decoding.max_length and server.decoding.gzip.max_length. These control the max size in
bytes to allow for an incoming request payload, and the maximum size in bytes to allow for a decompressed gzip request payload, respectively.

Here's an example OPA configuration using the new keys:

### Set max request size to 64 MB and max gzip size (decompressed) to be 128 MB.
server:
  decoding:
    max_length: 67108864
    gzip:
      max_length: 134217728
Topdown and Rego
  • topdown: New strings.count builtin which returns the number of non-overlapping instances of a substring in a string (#​6827) authored by @​Manish-Giri
  • format: Produce error when --rego-v1 formatted module has rule name conflicting with keyword (#​6833) authored by @​johanfylling
  • topdown: Add cap to caches for regex and glob built-in functions (#​6828) authored by @​johanfylling. This fixes possible memory leaks where caches grow uncontrollably when large amounts of regexes or globs are generated or originate from the input document.
Runtime, Tooling, SDK
  • repl: Add support for correctly loading bundle modules (#​6872) authored by @​ashutosh-narkar
  • plugins/discovery: Allow un-registration of discovery listener (#​6851) authored by @​mjungsbluth. The discovery plugin allows OPA to register a bundle download status listener but previously did not offer a method to unregister that listener
  • plugins/logs: Reduce amount of work performed inside global lock in decision log plugin (#​6859) authored by @​johanfylling
  • plugins/rest: Add a new client credential attribute to support Azure Workload Identity. This would allow workloads deployed on an Azure Kubernetes Services (AKS) cluster to authenticate and access Azure cloud resources (#​6802) authored by @​ledbutter
  • cmd/inspect: Add ability for opa inspect to inspect a single file outside of any bundle (#​6873) authored by @​tjons
  • cmd+bundle: Add --follow-symlinks flag to the opa build command to allow users to build directories with symlinked files, and have the contents of those symlinked files included in the built bundle (#​6800) authored by @​tjons
  • server: Add missing handling in the server for the explain=fails query value (#​6886) authored by @​acamatcisco
Docs, Website, Ecosystem
  • docs: Update bundle section with an example of a manifest with rego_version and file_rego_versions attributes (#​6885) authored by @​ashutosh-narkar
  • docs: Better link language SDKs to make them more discoverable (#​6866) authored by @​charlieegan3
Miscellaneous
  • ci: Add the OpenSSF Scorecard Github Action to help evaluate the OPA project's security posture (#​6848) authored by @​harshitasao
  • Dependency updates; notably:
    • build(go): bump golang from 1.22.4 to 1.22.5
    • build(deps): bump github.com/containerd/containerd from 1.7.18 to 1.7.20
    • build(deps): bump golang.org/x/net from 0.26.0 to 0.27.0
    • build(deps): bump google.golang.org/grpc from 1.64.0 to 1.65.0
    • build(deps): bump go.opentelemetry.io modules (#​6847)

v0.66.0

Compare Source

This release contains a mix of features, performance improvements, and bugfixes.

Improved Test Reports (#​2546)

The opa test command now includes a new --var-values flag that enriches reporting of failed tests with the values and locations for variables in the failing expression.
E.g.:

FAILURES
--------------------------------------------------------------------------------
data.test.test_my_policy: FAIL (0ms)

  test.rego:8:
    	x == y + z
    	|    |   |
    	|    |   3
    	|    y + z: 5
    	|    y: 2
    	1

SUMMARY
--------------------------------------------------------------------------------
test.rego:
data.test.test_foo: FAIL (0ms)
--------------------------------------------------------------------------------
FAIL: 1/1

Authored by @​johanfylling, reported by @​grosser.

Reading stdin in opa exec (#​6538)

The opa exec command now supports reading input documents from stdin with the --stdin-input (-I) flag.
E.g.:

$ echo '{"user": "alice"}' | opa exec --stdin-input --bundle my_bundle

Authored by @​colinjlacy, reported by @​humbertoc-silva.

Topdown and Rego
Runtime, Tooling, SDK
Docs, Website, Ecosystem
Miscellaneous
  • Dependency updates; notably:
    • build(go): bump golang from 1.22.3 to 1.22.4
    • build(deps): bump github.com/containerd/containerd from 1.7.17 to 1.7.18
    • build(deps): bump golang.org/x/net from 0.25.0 to 0.26.0

v0.65.0

Compare Source

This release contains a mix of features and bugfixes.

Runtime, Tooling, SDK
Topdown and Rego
Miscellaneous
  • docs: Add arrays to composite values section (#​6727) authored by @​anderseknert reported by @​SpecLad
  • docs: Add remainder operator to grammar (#​6767) authored by @​anderseknert
  • docs: Fix dynamic metadata object in docs (#​6709) authored by @​antonioberben
  • docs: Use best practice package name in test examples (#​6731) authored by @​asleire
  • docs: Update query API doc with details about overriding the def decision path (#​6745) authored by @​ashutosh-narkar
  • ci: pin GitHub Actions macos runner version and build for darwin/amd64 (#​6720) reported and authored by @​suzuki-shunsuke
  • Dependency updates; notably:
    • build(go): bump golang from 1.22.2 to 1.22.3
    • build(deps): bump github.com/containerd/containerd from 1.7.15 to 1.7.17
    • build(deps): bump github.com/prometheus/client_golang
    • build(deps): bump golang.org/x/net from 0.24.0 to 0.25.0
    • build(deps): bump google.golang.org/grpc from 1.63.2 to 1.64.0
Breaking changes

A new IsSetStmt statement has been added to the intermediate representation (IR).
This is a breaking change for custom IR evaluators, which must interpret this statement in IR plans generated by this OPA version and later.
No actions are required for Wasm users, as long as Wasm modules are built by this OPA version or later.


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@crossplane-renovate crossplane-renovate bot requested a review from a team as a code owner November 1, 2024 08:13
@crossplane-renovate crossplane-renovate bot requested a review from turkenh November 1, 2024 08:13
@crossplane-renovate
Copy link
Contributor Author

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated

Details:

Package Change
github.com/klauspost/compress v1.17.8 -> v1.17.9
github.com/prometheus/client_golang v1.19.1 -> v1.20.2

@jbw976 jbw976 merged commit c2febe4 into main Nov 2, 2024
@crossplane-renovate crossplane-renovate bot deleted the renovate/main-go-github.com-open-policy-agent-opa-vulnerability branch November 3, 2024 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants