You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Denial of service via untrapped exception in services validating user-supplied JSON / object input with recursive link schemas.
The blast radius depends on how the application invokes joi:
Highest impact: validate() called without try/catch in a request handler would cause an unhandled exception, potentially crashing the process.
Lower impact: validateAsync() or validate() inside a try/catch, the validation fails, but the error type is RangeError rather than a structured ValidationError, complicating error handling.
Patches
Upgrade to version >= 18.2.1.
Workarounds
Try/catch the validation to avoid uncaught exceptions.
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: pnpm-lock.yaml
WARN GET https://registry.npmjs.org/joi error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@makeomatic/deploy/-/deploy-12.6.3.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@types/is/-/is-0.0.21.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@types/lodash/-/lodash-4.14.179.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/c8/-/c8-7.11.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/chai/-/chai-4.3.6.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eslint-config-makeomatic/-/eslint-config-makeomatic-5.1.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.0.3.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/joi error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/@makeomatic/deploy/-/deploy-12.6.3.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/@types/is/-/is-0.0.21.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/@types/lodash/-/lodash-4.14.179.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/c8/-/c8-7.11.0.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/chai/-/chai-4.3.6.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/codecov/-/codecov-3.8.3.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/eslint-config-makeomatic/-/eslint-config-makeomatic-5.1.0.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.0.3.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz error (ERR_INVALID_THIS). Will retry in 1 minute. 1 retries left.
WARN GET https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.19.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
ERR_INVALID_THIS Value of "this" must be of type URLSearchParams
WARN GET https://registry.npmjs.org/microtime/-/microtime-3.0.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/semantic-release/-/semantic-release-19.0.2.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/sinon/-/sinon-13.0.1.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@microfleet/amqp-coffee/-/amqp-coffee-2.1.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/@types/common-errors/-/common-errors-1.0.2.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/common-errors/-/common-errors-1.2.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/debug/-/debug-4.3.3.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
WARN GET https://registry.npmjs.org/hashlru/-/hashlru-2.3.0.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/@pnpm/network.ca-file@1.0.2. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm es-abstract is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/es-abstract@1.24.2. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm eslint-plugin-import is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/eslint-plugin-import@2.25.4. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm highlight.js is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/highlight.js@10.7.3. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
renovateBot
changed the title
fix(deps): update dependency joi to v18 [security]
fix(deps): update dependency joi to v18 [security] - autoclosed
Jun 12, 2026
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
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:
^17.6.0→^18.0.0joi has an uncaught RangeError on deeply nested input through recursive
link()schemasCVE-2026-48038 / GHSA-q7cg-457f-vx79
More information
Details
Impact
Denial of service via untrapped exception in services validating user-supplied JSON / object input with recursive link schemas.
The blast radius depends on how the application invokes joi:
validate()called withouttry/catchin a request handler would cause an unhandled exception, potentially crashing the process.validateAsync()orvalidate()inside atry/catch, the validation fails, but the error type isRangeErrorrather than a structuredValidationError, complicating error handling.Patches
Upgrade to version >= 18.2.1.
Workarounds
Try/catch the validation to avoid uncaught exceptions.
Resources
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
hapijs/joi (joi)
v18.2.1Compare Source
v18.2.0Compare Source
v18.1.2Compare Source
v18.1.1Compare Source
v18.1.0Compare Source
v18.0.2Compare Source
v18.0.1Compare Source
v18.0.0Compare Source
v17.13.4Compare Source
v17.13.3Compare Source
v17.13.2Compare Source
v17.13.1Compare Source
v17.13.0Compare Source
v17.12.3Compare Source
v17.12.2Compare Source
v17.12.1Compare Source
v17.12.0Compare Source
v17.11.1Compare Source
v17.11.0Compare Source
v17.10.2Compare Source
v17.10.1Compare Source
v17.10.0Compare Source
v17.9.2Compare Source
v17.9.1Compare Source
v17.9.0Compare Source
v17.8.4Compare Source
v17.8.3Compare Source
v17.8.2Compare Source
v17.8.1Compare Source
v17.8.0Compare Source
v17.7.1Compare Source
v17.7.0Compare Source
v17.6.4Compare Source
v17.6.3Compare Source
v17.6.2Compare Source
v17.6.1Compare Source
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.
This PR was generated by Mend Renovate. View the repository job log.