NestJS developers will notice a minor update from version 4.5.3 to 4.5.4 of the @nestjs/common package. Both versions share the same core dependencies, relying on cli-color (1.1.0) for console styling, class-validator (0.7.3) for data validation, and class-transformer (0.1.8) for object transformation. They also maintain the same peer dependency on reflect-metadata (0.1.10), ensuring compatibility with reflection capabilities. The license remains MIT, and the author is consistently Kamil Mysliwiec.
The key difference lies in the release date. Version 4.5.4 was published on December 30, 2017, at 21:36:33 UTC, while version 4.5.3 was released earlier that same day at 13:15:07 UTC. While the dependencies and peer dependencies remained consistent, the later release might include bug fixes, performance improvements, or minor adjustments not reflected in the declared dependencies.
For developers, upgrading from 4.5.3 to 4.5.4 is generally recommended to benefit from the latest stability enhancements and potential refinements. It's crucial to ensure existing projects are compatible with the peer dependency reflect-metadata (0.1.10) to avoid any runtime issues. As the changes appear minimal, it is recommended to review the commit logs of the nestjs/nest repository on GitHub within this timeframe can offer greater clarity about specific changes in version 4.5.4.
All the vulnerabilities related to the version 4.5.4 of the package
nest allows a remote attacker to execute arbitrary code via the Content-Type header
File Upload vulnerability in nestjs nest prior to v.11.0.16 allows a remote attacker to execute arbitrary code via the Content-Type header.
SQL Injection and Cross-site Scripting in class-validator
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.
Inefficient Regular Expression Complexity in validator.js
validator.js prior to 13.7.0 is vulnerable to Inefficient Regular Expression Complexity
Prototype pollution in class-transformer
class-transformer through 0.2.3 is vulnerable to Prototype Pollution. The 'classToPlainFromExist' function could be tricked into adding or modifying properties of 'Object.prototype' using a 'proto' payload.