You are viewing this page in an unauthorized frame window.
This is a potential security issue, you are being redirected to
https://nvd.nist.gov
An official website of the United States government
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock () or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.
Pug is an npm package which is a high-performance template engine. In pug before version 3.0.1, if a remote attacker was able to control the `pretty` option of the pug compiler, e.g. if you spread a user provided object such as the query parameters of a request into the pug template inputs, it was possible for them to achieve remote code execution on the node.js backend. This is fixed in version 3.0.1. This advisory applies to multiple pug packages including "pug", "pug-code-gen". pug-code-gen has a backported fix at version 2.0.3. This advisory is not exploitable if there is no way for un-trusted input to be passed to pug as the `pretty` option, e.g. if you compile templates in advance before applying user input to them, you do not need to upgrade.
Metrics
NVD enrichment efforts reference publicly available information to associate
vector strings. CVSS information contributed by other sources is also
displayed.
By selecting these links, you will be leaving NIST webspace.
We have provided these links to other web sites because they
may have information that would be of interest to you. No
inferences should be drawn on account of other sites being
referenced, or not, from this page. There may be other web
sites that are more appropriate for your purpose. NIST does
not necessarily endorse the views expressed, or concur with
the facts presented on these sites. Further, NIST does not
endorse any commercial products that may be mentioned on
these sites. Please address comments about this page to [email protected].
Pug is an npm package which is a high-performance template engine. In pug before version 3.0.1, if a remote attacker was able to control the `pretty` option of the pug compiler, e.g. if you spread a user provided object such as the query parameters of a request into the pug template inputs, it was possible for them to achieve remote code execution on the node.js backend. This is fixed in version 3.0.1. This advisory applies to multiple pug packages including "pug", "pug-code-gen". pug-code-gen has a backported fix at version 2.0.3. This advisory is not exploitable if there is no way for un-trusted input to be passed to pug as the `pretty` option, e.g. if you compile templates in advance before applying user input to them, you do not need to upgrade.
Pug is an npm package which is a high-performance template engine. In pug before version 3.0.1, if a remote attacker was able to control the `pretty` option of the pug compiler, e.g. if you spread a user provided object such as the query parameters of a request into the pug template inputs, it was possible for them to achieve remote code execution on the node.js backend. This is fixed in version 3.0.1. This advisory applies to multiple pug packages including "pug", "pug-code-gen". pug-code-gen has a backported fix at version 2.0.3. This advisory is not exploitable if there is no way for un-trusted input to be passed to pug as the `pretty` option, e.g. if you compile templates in advance before applying user input to them, you do not need to upgrade.
OR
*cpe:2.3:a:pugjs:pug:*:*:*:*:*:node.js:*:* versions up to (excluding) 3.0.1
*cpe:2.3:a:pugjs:pug-code-gen:*:*:*:*:*:node.js:*:* versions up to (excluding) 2.0.3
*cpe:2.3:a:pugjs:pug-code-gen:*:*:*:*:*:node.js:*:* versions from (including) 3.0.0 up to (excluding) 3.0.2
Changed
Reference Type
https://github.com/pugjs/pug/commit/991e78f7c4220b2f8da042877c6f0ef5a4683be0 No Types Assigned
https://github.com/pugjs/pug/commit/991e78f7c4220b2f8da042877c6f0ef5a4683be0 Patch, Third Party Advisory
Changed
Reference Type
https://github.com/pugjs/pug/issues/3312 No Types Assigned
https://github.com/pugjs/pug/issues/3312 Exploit, Patch, Third Party Advisory
Changed
Reference Type
https://github.com/pugjs/pug/pull/3314 No Types Assigned
https://github.com/pugjs/pug/pull/3314 Patch, Third Party Advisory
Changed
Reference Type
https://github.com/pugjs/pug/releases/tag/pug%403.0.1 No Types Assigned
https://github.com/pugjs/pug/releases/tag/pug%403.0.1 Release Notes, Third Party Advisory
Changed
Reference Type
https://github.com/pugjs/pug/security/advisories/GHSA-p493-635q-r6gr No Types Assigned
https://github.com/pugjs/pug/security/advisories/GHSA-p493-635q-r6gr Third Party Advisory
Changed
Reference Type
https://www.npmjs.com/package/pug No Types Assigned
https://www.npmjs.com/package/pug Product, Third Party Advisory
Changed
Reference Type
https://www.npmjs.com/package/pug-code-gen No Types Assigned
https://www.npmjs.com/package/pug-code-gen Product, Third Party Advisory
Quick Info
CVE Dictionary Entry: CVE-2021-21353 NVD
Published Date: 03/02/2021 NVD
Last Modified: 05/27/2025
Source: GitHub, Inc.