freeCodeCamp / CurriculumExpansion

Creative Commons Attribution Share Alike 4.0 International
313 stars 105 forks source link

chore(deps): update dependency pug to v3 [security] - autoclosed #363

Closed renovate[bot] closed 10 months ago

renovate[bot] commented 10 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
pug (source) ^2.0.4 -> ^3.0.0 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: 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`](https://togithub.com/pugjs/pug/releases/tag/pug%403.0.1) [Compare Source](https://togithub.com/pugjs/pug/compare/pug@3.0.0...pug@3.0.1) #### Bug Fixes - Sanitise the `pretty` option ([#​3314](https://togithub.com/pugjs/pug/issues/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](https://togithub.com/pugjs/pug/issues/3312) for more details. ### [`v3.0.0`](https://togithub.com/pugjs/pug/releases/tag/pug%403.0.0) [Compare Source](https://togithub.com/pugjs/pug/compare/pug@2.0.4...pug@3.0.0) #### Breaking Changes - `read` plugins must now return `Buffer` if you want to support filters that use `renderBuffer` ([#​3213](https://togithub.com/pugjs/pug/issues/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](https://togithub.com/pugjs/pug/issues/3084)) Currently we support: - jstransformer-uglify-js for JavaScript - jstransformer-clean-css for CSS - Drop support for node 6 and 8 ([#​3243](https://togithub.com/pugjs/pug/issues/3243)) #### New Features - Support filters that apply to Buffers ([#​3213](https://togithub.com/pugjs/pug/issues/3213)) e.g. ```js // 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 ''; } } }; ``` You can then use the filter like: ```pug // foo.pug include:png my-small-image.png ``` - Add support for replacing code gen via a plugin with `generateCode` ([#​3230](https://togithub.com/pugjs/pug/issues/3230)) - Support `each ... of ...` loops ([#​3179](https://togithub.com/pugjs/pug/issues/3179)) ```pug 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: ```pug - const map = new Map([['a', 'x'], ['b', 'y']]); each [key, value] of map li strong= key = value ```

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 has been generated by Mend Renovate. View repository job log here.

socket-security[bot] commented 10 months ago

Updated dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
pug 2.0.4...3.0.2 None +24/-40 6.06 MB pug-bot
sass 1.69.5...1.25.0 environment +12/-0 2.71 MB sassbot
typescript 3.9.10...3.7.5 None +0/-0 50.6 MB typescript