EJS (Embedded JavaScript templates) saw a minor version bump from 2.2.3 to 2.2.4, representing incremental improvements and bug fixes rather than a major overhaul. Both versions share the same core dependencies and development dependencies, suggesting code compatibility and consistent performance. For developers already using EJS, upgrading to 2.2.4 should be seamless.
The key difference lies in the release date. Version 2.2.4 was published on February 1, 2015, roughly a week after version 2.2.3, released on January 23, 2015. This short interval typically implies that 2.2.4 addresses specific issues discovered in 2.2.3. Without specific changelog data available, it's difficult to pinpoint the exact modifications, but developers encountering minor bugs or inconsistencies in 2.2.3 are advised to upgrade, as stability improvements may have been incorporated.
EJS simplifies dynamic content generation in web applications. As both versions utilize the same development dependencies like Jake for build tasks, Mocha for testing, Istanbul for code coverage, Uglify-JS for minification, and Browserify for bundling, the development workflow remains the same. This consistency makes EJS a reliable choice for projects prioritizing stability and ease of use. The Apache-2.0 license ensures flexibility for incorporation into various projects, both open-source and commercial. The library, maintained by Matthew Eernisse, is hosted on GitHub, fostering community contributions and transparency.
All the vulnerabilities related to the version 2.2.4 of the package
ejs is vulnerable to remote code execution due to weak input validation
nodejs ejs versions older than 2.5.3 is vulnerable to remote code execution due to weak input validation in ejs.renderFile()
function
ejs vulnerable to DoS due to weak input validation
nodejs ejs version older than 2.5.5 is vulnerable to a denial-of-service due to weak input validation in ejs.renderFile()
ejs lacks certain pollution protection
The ejs (aka Embedded JavaScript templates) package before 3.1.10 for Node.js lacks certain pollution protection.
mde ejs vulnerable to XSS
nodejs ejs version older than 2.5.5 is vulnerable to a Cross-site-scripting in the ejs.renderFile()
resulting in code injection
ejs template injection vulnerability
The ejs (aka Embedded JavaScript templates) package 3.1.6 for Node.js allows server-side template injection in settings[view options][outputFunctionName]. This is parsed as an internal option, and overwrites the outputFunctionName option with an arbitrary OS command (which is executed upon template compilation).