-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update dependency pug to v3 [SECURITY] #319
base: master
Are you sure you want to change the base?
Conversation
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: package-lock.json
|
214f0b1
to
de26470
Compare
de26470
to
af8ac78
Compare
|
This PR contains the following updates:
2.0.4
->3.0.3
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
CVE-2024-36361
Pug through 3.0.2 allows JavaScript code execution if an application accepts untrusted input for the name option of the
compileClient
,compileFileClient
, orcompileClientWithDependenciesTracked
function. NOTE: these functions are for compiling Pug templates into JavaScript, and there would typically be no reason to allow untrusted callers.Release Notes
pugjs/pug (pug)
v3.0.3
Compare Source
Bug Fixes
Update pug-code-gen with the following fix: (#3438)
Validate
templateName
andglobals
are valid JavaScript identifiers to prevent possible remote code execution if un-trusted user input is passed to the compilation optionsv3.0.2
Compare Source
Bug Fixes
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:Configuration
📅 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.