Skip to content
Merged
2 changes: 1 addition & 1 deletion build.js
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ function getSource (callback) {
},
banner: {
visible: true,
text: 'New security releases to be made available Dec 17, 2019',
text: 'New security releases now available for all release lines',
link: '/en/blog/vulnerability/december-2019-security-releases/'
}
}
Expand Down
49 changes: 47 additions & 2 deletions locale/en/blog/vulnerability/december-2019-security-releases.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,57 @@
---
date: 2019-12-12T18:20:47.733Z
date: 2019-12-18T00:23:00.000Z
category: vulnerability
title: December 2019 Security Releases
slug: december-2019-security-releases
layout: blog-post.hbs
author: Michael Dawson
author: Michael Dawson, Sam Roberts
---

## _(Update 18-December-2019)_ Releases available

These releases update npm to v6.13.4 to address three vulnerabilities described below.

All current release lines were affected.

At this time, CVEs have been requested by npm, Inc. and are pending review. See https://twitter.com/ahmadnassri/status/1205132161961123841 for more information.

### Global `node_modules` Binary Overwrite

Versions of the npm CLI prior to 6.13.4 are vulnerable to a Global `node_modules` Binary Overwrite. It fails to prevent existing globally-installed binaries to be overwritten by other package installations.

For example, if a package was installed globally and created a `serve` binary, any subsequent installs of packages that also create a `serve` binary would overwrite the first binary. This will not overwrite system binaries but only binaries put into the global `node_modules` directory.

This behavior is still allowed in local installations and also through install scripts. This vulnerability bypasses a user using the `--ignore-scripts` install option.

* https://www.npmjs.com/advisories/1437

### Symlink reference outside of `node_modules`

Versions of the npm CLI prior to 6.13.3 are vulnerable to a symlink reference outside of `node_modules`. It is possible for packages to create symlinks to files outside of the `node_modules` folder through the `bin` field upon installation. A properly constructed entry in the package.json `bin` field would allow a package publisher to create a symlink pointing to arbitrary files on a user’s system when the package is installed. Only files accessible by the user running the `npm install` are affected.

This behavior is still possible through install scripts. This vulnerability bypasses a user using the `--ignore-scripts` install option.

* https://www.npmjs.com/advisories/1436

### Arbitrary File Write

Versions of the npm CLI prior to 6.13.3 are vulnerable to an Arbitrary File Write. It fails to prevent access to folders outside of the intended `node_modules` folder through the `bin` field. A properly constructed entry in the package.json `bin` field would allow a package publisher to modify and/or gain access to arbitrary files on a user’s system when the package is installed. It is only possible to affect files that the user running `npm install` has access to.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A slight clarification: It is not possibly to overwrite files or modify files. You are only able to places files in locations that already do not exist. It is not possible to "gain access to arbitrary files" this is all about writing.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@evilpacket This is verbatim copied from the npm vulnerability report, the link to which is provided a few lines down. Please provide this feedback to npm, inc.


This behavior is still possible through install scripts. This vulnerability bypasses a user using the `--ignore-scripts` install option.

* https://www.npmjs.com/advisories/1434

### Downloads

* [Node.js v13.4.0](https://nodejs.org/en/blog/release/v13.4.0/)
* [Node.js v12.14.0](https://nodejs.org/en/blog/release/v12.14.0/)
* [Node.js v10.18.0](https://nodejs.org/en/blog/release/v10.18.0/)
* [Node.js v8.17.0](https://nodejs.org/en/blog/release/v8.17.0/)

Please note that this will be the final release of the v8.x line as support ends after December 31st, 2019.

--------------------------------------

# Summary

The Node.js project will release new versions of all supported release lines on or shortly after Tuesday December 17, 2019 UTC. For versions 8, 10, and 12 the only update to the runtime in these releases will be an updated version of npm addressing the vulnerability announced in https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli. Version 13, while still being a security release, will include all commits that were scheduled to be included in the originally scheduled release.
Expand Down