In TypeStack class-validator, validate() input validation can be bypassed because certain internal attributes can be overwritten via a conflicting name. Even though there is an optional forbidUnknownValues parameter that can be used to reduce the risk of this bypass, this option is not documented and thus most developers configure input validation in the vulnerable default manner. With this vulnerability, attackers can launch SQL Injection or XSS attacks by injecting arbitrary malicious input.
The default settings for forbidUnknownValues has been changed to true in 0.14.0.
NOTE: a software maintainer agrees with the "is not documented" finding but suggests that much of the responsibility for the risk lies in a different product.
Release Notes
typestack/class-validator (class-validator)
### [`v0.14.0`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0140-2022-12-09)
[Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.2...v0.14.0)
### [`v0.13.2`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0132-2021-11-20)
[Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.1...v0.13.2)
> **NOTE:** This version fixes a security vulnerability allowing denial of service attacks with a specially crafted request payload.
> Please update as soon as possible.
##### Fixed
- switched to use `Array.isArray` in array checks from `instanceof` operator
##### Changed
- `libphonenumber-js` package updated to `1.9.43` from `1.9.7`
- `validator` package updated to `13.5.2` from `13.5.2`
- various dev-dependencies updated
### [`v0.13.1`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0131-2021-01-14)
[Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.0...v0.13.1)
##### Added
- optional mather function has been added to the `ArrayUnique` decorator
##### Fixed
- a typo was fixed in the error message generated by the `IsUUID` decorator
- calling `ValidationError.toString()` doesn't result in an error when `forbidNonWhitelisted` parameter was used
- fixed typo in error message generated by `IsIn` decorator
- the `@types/validator` package is correctly installed
- `inlineSources` option is enabled in tsconfig preventing various sourcemap errors when consuming the package
##### Changed
- various dev dependencies has been updated
### [`v0.13.0`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0130-2021-01-11)
[Compare Source](https://togithub.com/typestack/class-validator/compare/v0.12.2...v0.13.0)
##### Added
- **project is restructured to allow three-shaking**
- added option to fail on first validation error ([#620](https://togithub.com/typestack/class-validator/issues/620))
- two new validator option is added:
- `always` - allows setting global default for `always` option for decorators
- `strictGroups` - ignore decorators with at least one group, when `ValidatorOptions.groups` is empty
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 Mend Renovate. View repository job log here.
This PR contains the following updates:
0.12.2
->0.14.0
GitHub Vulnerability Alerts
CVE-2019-18413
In TypeStack class-validator,
validate()
input validation can be bypassed because certain internal attributes can be overwritten via a conflicting name. Even though there is an optionalforbidUnknownValues
parameter that can be used to reduce the risk of this bypass, this option is not documented and thus most developers configure input validation in the vulnerable default manner. With this vulnerability, attackers can launch SQL Injection or XSS attacks by injecting arbitrary malicious input.The default settings for
forbidUnknownValues
has been changed totrue
in 0.14.0.NOTE: a software maintainer agrees with the "is not documented" finding but suggests that much of the responsibility for the risk lies in a different product.
Release Notes
typestack/class-validator (class-validator)
### [`v0.14.0`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0140-2022-12-09) [Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.2...v0.14.0) ### [`v0.13.2`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0132-2021-11-20) [Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.1...v0.13.2) > **NOTE:** This version fixes a security vulnerability allowing denial of service attacks with a specially crafted request payload. > Please update as soon as possible. ##### Fixed - switched to use `Array.isArray` in array checks from `instanceof` operator ##### Changed - `libphonenumber-js` package updated to `1.9.43` from `1.9.7` - `validator` package updated to `13.5.2` from `13.5.2` - various dev-dependencies updated ### [`v0.13.1`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0131-2021-01-14) [Compare Source](https://togithub.com/typestack/class-validator/compare/v0.13.0...v0.13.1) ##### Added - optional mather function has been added to the `ArrayUnique` decorator ##### Fixed - a typo was fixed in the error message generated by the `IsUUID` decorator - calling `ValidationError.toString()` doesn't result in an error when `forbidNonWhitelisted` parameter was used - fixed typo in error message generated by `IsIn` decorator - the `@types/validator` package is correctly installed - `inlineSources` option is enabled in tsconfig preventing various sourcemap errors when consuming the package ##### Changed - various dev dependencies has been updated ### [`v0.13.0`](https://togithub.com/typestack/class-validator/blob/HEAD/CHANGELOG.md#0130-2021-01-11) [Compare Source](https://togithub.com/typestack/class-validator/compare/v0.12.2...v0.13.0) ##### Added - **project is restructured to allow three-shaking** - added option to fail on first validation error ([#620](https://togithub.com/typestack/class-validator/issues/620)) - two new validator option is added: - `always` - allows setting global default for `always` option for decorators - `strictGroups` - ignore decorators with at least one group, when `ValidatorOptions.groups` is emptyConfiguration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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 has been generated by Mend Renovate. View repository job log here.