Handlebars 4.7.3 represents a subtle but important update over its predecessor, version 4.7.2. Both versions maintain Handlebars' core promise: providing a powerful and frustration-free templating engine for building semantic templates. Developers familiar with Handlebars will find the upgrade process seamless, as the core API and usage patterns remain consistent.
Examining the metadata, the dependency and devDependency lists are identical between the two versions, meaning that the underlying tools and libraries used for development and testing haven't changed. The key differences lie in the internal improvements and bug fixes implemented within the 4.7.3 release. While specific details on these changes aren't explicitly provided in the metadata, comparing the fileCount (117 in 4.7.3 vs. 116 in 4.7.2) and unpackedSize (2714134 bytes vs. 2713424 bytes respectively) suggests slight alterations and refinements within the codebase. The increase in file count and unpacked size, implies that there might be new files or that existing ones have been modified.
Developers should prioritize upgrading to 4.7.3 to benefit from these internal enhancements which likely address edge cases, improve performance, or resolve minor bugs present in 4.7.2. The release date difference of approximately three weeks also highlights a commitment to ongoing maintenance and refinement of the Handlebars library. The minor version bump (4.7.2 to 4.7.3) indicates that the changes are backwards compatible, minimizing the risk of disruption when updating existing projects.
All the vulnerabilities related to the version 4.7.3 of the package
Prototype Pollution in handlebars
The package handlebars before 4.7.7 are vulnerable to Prototype Pollution when selecting certain compiling options to compile templates coming from an untrusted source.
Remote code execution in handlebars when compiling templates
The package handlebars before 4.7.7 are vulnerable to Remote Code Execution (RCE) when selecting certain compiling options to compile templates coming from an untrusted source.
Prototype Pollution in minimist
Affected versions of minimist
are vulnerable to prototype pollution. Arguments are not properly sanitized, allowing an attacker to modify the prototype of Object
, causing the addition or modification of an existing property that will exist on all objects.
Parsing the argument --__proto__.y=Polluted
adds a y
property with value Polluted
to all objects. The argument --__proto__=Polluted
raises and uncaught error and crashes the application.
This is exploitable if attackers have control over the arguments being passed to minimist
.
Upgrade to versions 0.2.1, 1.2.3 or later.
Prototype Pollution in minimist
Minimist prior to 1.2.6 and 0.2.4 is vulnerable to Prototype Pollution via file index.js
, function setKey()
(lines 69-95).