Update dependency pug to v3 [SECURITY] #162
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.0.3
->^3.0.0
GitHub Vulnerability Alerts
CVE-2021-21353
Impact
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.Patches
Upgrade to
[email protected]
or[email protected]
or[email protected]
, which correctly sanitise the parameter.Workarounds
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.References
Original report: https://github.com/pugjs/pug/issues/3312
For more information
If you believe you have found other vulnerabilities, please DO NOT open an issue. Instead, you can follow the instructions in our Security Policy
Release Notes
pugjs/pug (pug)
v3.0.1
Compare Source
Bug Fixes
Sanitise the
pretty
option (#3314)If a malicious attacker could control the
pretty
option, it was possible for them to achieve remote code execution on the server rendering the template. All pug users should upgrade as soon as possible, see #3312 for more details.v3.0.0
Compare Source
Breaking Changes
read
plugins must now returnBuffer
if you want to support filters that userenderBuffer
(#3213)If you don't wish to support this advanced use case, you can continue returning
string
. If you did not provide aread
plugin, you do not need to do anything.The
minify
option on filters now requires you to install the relevant jstransformer (#3084)Currently we support:
Drop support for node 6 and 8 (#3243)
New Features
Support filters that apply to Buffers (#3213)
e.g.
You can then use the filter like:
// foo.pug include:png my-small-image.png
Add support for replacing code gen via a plugin with
generateCode
(#3230)Support
each ... of ...
loops (#3179)This requires an environment that supports the
for (const val of iterable)
syntax in JS. You can iterate over Maps, Sets etc. as well as arrays. There is also some destructuring of map keys:v2.0.4
: 2.0.4Compare Source
...
spread attributes when compiling to JSX N.B. this will not work when rendering to HTMLConfiguration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.