CVE-2021-21353

Medium

Description

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.

SeverityMedium
CVSS6.8
Exploit probability—
ProductPugjs Pug-code-gen
PublishedMar 3, 2021
First seenMar 3, 2021
Weakness typeCWE-74Injection

How to fix

Update
  • pugjs pug-code-gen2.0.3, 3.0.2 or later
  • pugjs pug3.0.1 or later
  • pug3.0.1 or later
  • pug-code-gen2.0.3, 3.0.2 or later

Affected products

ProductAffected versionsFixed in
pugjs pug-code-genv < 2.0.3, 3.0.0 ≤ v < 3.0.22.0.3, 3.0.2
pugjs pugv < 3.0.13.0.1
pugnpmv < 3.0.13.0.1
pug-code-gennpmv < 2.0.3, 3.0.0 ≤ v < 3.0.22.0.3, 3.0.2

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.