Skip to content
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

chore: update dependency pug to v3 [security] #81

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 3, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pug (source) 2.0.4 -> 3.0.1 age adoption passing confidence

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 pug@3.0.1 or pug-code-gen@3.0.2 or pug-code-gen@2.0.3, 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: pugjs/pug#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

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 return Buffer if you want to support filters that use renderBuffer (#​3213)

    If you don't wish to support this advanced use case, you can continue returning string. If you did not provide a read 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:

    • jstransformer-uglify-js for JavaScript
    • jstransformer-clean-css for CSS
  • Drop support for node 6 and 8 (#​3243)

New Features

  • Support filters that apply to Buffers (#​3213)

    e.g.

    // options.js
    exports.filters = {
      png: {
        // instead of a function, specify an object with a "renderBuffer" property
        // whose value is a function that takes a Buffer instead of a string
        renderBuffer: function(buffer, options) {
          var data = Buffer.from(buffer).toString('base64');
          return '<img src="data:image/png;base64, ' + data + '"/>';
        }
      }
    };

    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)

    each value of iterable
      li= value

    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:

    - const map = new Map([['a', 'x'], ['b', 'y']]);
    each [key, value] of map
      li
        strong= key
        = value

Configuration

📅 Schedule: "" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@codecov
Copy link

codecov bot commented Mar 3, 2021

Codecov Report

Merging #81 (059352e) into master (8b22ba1) will not change coverage.
The diff coverage is n/a.

❗ Current head 059352e differs from pull request most recent head 077247a. Consider uploading reports for the commit 077247a to get more accurate results
Impacted file tree graph

@@           Coverage Diff           @@
##           master      #81   +/-   ##
=======================================
  Coverage   96.83%   96.83%           
=======================================
  Files           8        8           
  Lines         158      158           
  Branches       42       42           
=======================================
  Hits          153      153           
  Misses          5        5           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 83ec371...077247a. Read the comment docs.

@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch from 035870b to 4e3475d Compare March 6, 2021 04:49
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch from 4e3475d to 17f1ca9 Compare March 13, 2021 09:24
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch 2 times, most recently from a54fe73 to 04639b1 Compare April 3, 2021 04:06
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch from 04639b1 to b3b90d1 Compare April 10, 2021 03:49
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch from b3b90d1 to d5bc006 Compare April 17, 2021 08:35
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch 2 times, most recently from 47bdea5 to 30f339d Compare May 1, 2021 04:34
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch 2 times, most recently from 3fd0933 to aa83193 Compare May 15, 2021 02:17
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch 3 times, most recently from 363c5db to 059352e Compare May 15, 2021 19:05
@renovate renovate bot force-pushed the renovate/npm-pug-vulnerability branch from 059352e to 077247a Compare May 15, 2021 19:09
@QuentinRoy QuentinRoy closed this May 15, 2021
@QuentinRoy QuentinRoy deleted the renovate/npm-pug-vulnerability branch November 15, 2022 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants