NestJS developers will find the jump from @nestjs/common version 4.5.15 to 4.5.16 a relatively minor update, but still important for maintaining a current and optimized application. Both versions share identical dependencies, including "cli-color" (1.1.0), "class-validator" (0.7.3), and "class-transformer" (0.1.8), ensuring core functionalities surrounding command-line coloring, data validation, and object transformation remain consistent. Crucially, both also rely on "reflect-metadata" (0.1.10) as a peer dependency, which is fundamental for enabling NestJS's dependency injection and metadata reflection capabilities. The underlying license, MIT, and author remain unchanged, attributing authorship to Kamil Mysliwiec.
The key distinction lies in the "dist" object, specifically the "unpackedSize". Version 4.5.16 has an unpacked size of 143272 bytes, slightly larger than version 4.5.15, which comes in at 142801 bytes. This indicates potential minor internal code adjustments, bug fixes, or performance enhancements within the @nestjs/common package. While the "fileCount" remains constant at 271, developers should upgrade to version 4.5.16 to benefit from these subtle improvements which could impact the stability, performance, and potentially even the security of their NestJS applications. The release of 4.5.16 occured only about one hour after after 4.5.15, so this probably indicates a rushed bugfix.
All the vulnerabilities related to the version 4.5.16 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.