-
Notifications
You must be signed in to change notification settings - Fork 497
chore(deps): update module github.com/expr-lang/expr to v1.17.7 [security] #5133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
renovate-sh-app
merged 1 commit into
main
from
renovate/go-github.1485827954.workers.dev-expr-lang-expr-vulnerability
Jan 5, 2026
Merged
chore(deps): update module github.com/expr-lang/expr to v1.17.7 [security] #5133
renovate-sh-app
merged 1 commit into
main
from
renovate/go-github.1485827954.workers.dev-expr-lang-expr-vulnerability
Jan 5, 2026
+3
−3
Conversation
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
Contributor
🔍 Dependency Reviewgithub.1485827954.workers.dev/expr-lang/expr v1.17.6 -> v1.17.7 — ✅ Safe
Relevant upstream references:
Impact on your code:
Suggested validation:
Code changes required:
Notes
|
7bf18d8 to
2acc5d1
Compare
2acc5d1 to
ab68805
Compare
ab68805 to
6fd6cad
Compare
…rity] | datasource | package | from | to | | ---------- | ------------------------- | ------- | ------- | | go | github.com/expr-lang/expr | v1.17.6 | v1.17.7 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
6fd6cad to
928fee4
Compare
jharvey10
approved these changes
Jan 5, 2026
blewis12
pushed a commit
that referenced
this pull request
Jan 6, 2026
…rity] (#5133) | datasource | package | from | to | | ---------- | ------------------------- | ------- | ------- | | go | github.com/expr-lang/expr | v1.17.6 | v1.17.7 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com> Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
blewis12
pushed a commit
that referenced
this pull request
Jan 6, 2026
…rity] (#5133) | datasource | package | from | to | | ---------- | ------------------------- | ------- | ------- | | go | github.com/expr-lang/expr | v1.17.6 | v1.17.7 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com> Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
blewis12
pushed a commit
that referenced
this pull request
Jan 7, 2026
…rity] (#5133) | datasource | package | from | to | | ---------- | ------------------------- | ------- | ------- | | go | github.com/expr-lang/expr | v1.17.6 | v1.17.7 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com> Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
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:
v1.17.6→v1.17.7Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
GitHub Vulnerability Alerts
CVE-2025-68156
Several builtin functions in Expr, including
flatten,min,max,mean, andmedian, performrecursive traversal over user-provided data structures without enforcing a maximum recursion depth.
If the evaluation environment contains deeply nested or cyclic data structures, these functions may recurse
indefinitely until exceed the Go runtime stack limit. This results in a stack overflow panic, causing the host
application to crash.
While exploitability depends on whether an attacker can influence or inject cyclic or pathologically deep data into the
evaluation environment, this behavior represents a denial-of-service (DoS) risk and affects overall library robustness.
Instead of returning a recoverable evaluation error, the process may terminate unexpectedly.
Impact
In affected versions, evaluation of expressions that invoke certain builtin functions on untrusted or insufficiently
validated data structures can lead to a process-level crash due to stack exhaustion.
This issue is most relevant in scenarios where:
In typical use cases with controlled, acyclic data, the issue may not manifest. However, when present, the resulting
panic can be used to reliably crash the application, constituting a denial of service.
Patches
The issue has been fixed in the v1.17.7 versions of Expr.
The patch introduces a maximum recursion depth limit for affected builtin functions. When this limit is exceeded,
evaluation aborts gracefully and returns a descriptive error instead of panicking.
Additionally, the maximum depth can be customized by users via
builtin.MaxDepth, allowing applications with legitimatedeep structures to raise the limit in a controlled manner.
Users are strongly encouraged to upgrade to the patched release, which includes both the recursion guard and
comprehensive test coverage to prevent regressions.
Workarounds
For users who cannot immediately upgrade, the following mitigations are recommended:
These workarounds reduce risk but do not fully eliminate the issue without the patch.
Expr has Denial of Service via Unbounded Recursion in Builtin Functions
CVE-2025-68156 / GHSA-cfpf-hrx2-8rv6 / GO-2025-4245
More information
Details
Several builtin functions in Expr, including
flatten,min,max,mean, andmedian, performrecursive traversal over user-provided data structures without enforcing a maximum recursion depth.
If the evaluation environment contains deeply nested or cyclic data structures, these functions may recurse
indefinitely until exceed the Go runtime stack limit. This results in a stack overflow panic, causing the host
application to crash.
While exploitability depends on whether an attacker can influence or inject cyclic or pathologically deep data into the
evaluation environment, this behavior represents a denial-of-service (DoS) risk and affects overall library robustness.
Instead of returning a recoverable evaluation error, the process may terminate unexpectedly.
Impact
In affected versions, evaluation of expressions that invoke certain builtin functions on untrusted or insufficiently
validated data structures can lead to a process-level crash due to stack exhaustion.
This issue is most relevant in scenarios where:
In typical use cases with controlled, acyclic data, the issue may not manifest. However, when present, the resulting
panic can be used to reliably crash the application, constituting a denial of service.
Patches
The issue has been fixed in the v1.17.7 versions of Expr.
The patch introduces a maximum recursion depth limit for affected builtin functions. When this limit is exceeded,
evaluation aborts gracefully and returns a descriptive error instead of panicking.
Additionally, the maximum depth can be customized by users via
builtin.MaxDepth, allowing applications with legitimatedeep structures to raise the limit in a controlled manner.
Users are strongly encouraged to upgrade to the patched release, which includes both the recursion guard and
comprehensive test coverage to prevent regressions.
Workarounds
For users who cannot immediately upgrade, the following mitigations are recommended:
These workarounds reduce risk but do not fully eliminate the issue without the patch.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Expr has Denial of Service via Unbounded Recursion in Builtin Functions in github.com/expr-lang/expr
CVE-2025-68156 / GHSA-cfpf-hrx2-8rv6 / GO-2025-4245
More information
Details
Expr has Denial of Service via Unbounded Recursion in Builtin Functions in github.com/expr-lang/expr
Severity
Unknown
References
This data is provided by OSV and the Go Vulnerability Database (CC-BY 4.0).
Release Notes
expr-lang/expr (github.com/expr-lang/expr)
v1.17.7Compare Source
Expr is a Go-centric expression language designed to deliver dynamic configurations with unparalleled accuracy,
safety, and speed.
This release brings new language features, performance improvements across runtime and compiler, better error
handling, and many important bug fixes.
New Features
Support for
else ifexpressionselse if! (#879)Unicode escapes in the
\u{XXXXXX}format\u{1F600}. (#882)Byte slice support in the
matchesoperatorThe
matchesoperator now works with[]byte, improving interoperability with binary data. (#876)Short-circuit control options
New options allow enabling or disabling short-circuiting behavior in the compiler and VM. (#847)
Option to disable
ifoperatorA separate
DisableIfOperatoroption is now available. (#881)Performance Improvements
Runtime structure fetch improvements
Accessing struct fields at runtime is now faster. (#833)
VM function call optimizations
Function calls inside the VM execute more efficiently. (#832)
Type system performance boost
Large or complex type operations now run significantly faster. (#824)
Bug Fixes
AsBoolwith nil and undefined variables (#866).ifconditions and detect null-byte crashes.Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
Need help?
You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.