NestJS version 4.3.6 represents a minor update to the @nestjs/common package, succeeding version 4.3.4. Both versions share identical dependency and peer dependency requirements, relying on 'cli-color' v1.1.0, 'class-validator' v0.7.3, and 'class-transformer' v0.1.8 for core functionality, as well as a peer dependency on 'reflect-metadata' v0.1.10. This indicates that the underlying architecture and external package integrations remained consistent between these releases.
The principal difference lies in the release date, with version 4.3.6 being published on November 23, 2017, approximately one day after version 4.3.4 (November 22, 2017). Given the minimal timeframe between releases, developers can infer that version 4.3.6 likely contains bug fixes, performance improvements, or minor adjustments that didn't necessitate changes to dependencies. Upgrading from 4.3.4 to 4.3.6 should be a straightforward process with minimal risk of introducing breaking changes, allowing developers to quickly benefit from any refinements made.
For developers using NestJS, this implies a stable, incremental improvement. While specific details of the changes aren't provided in the metadata, the rapid succession suggests attention to detail and a commitment to maintaining a robust and reliable framework. Users should consult the official NestJS changelog or release notes for a comprehensive understanding of the applied enhancements.
All the vulnerabilities related to the version 4.3.6 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.