[
https://issues.apache.org/jira/browse/THRIFT-4509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16389781#comment-16389781
]
Philip Frank commented on THRIFT-4509:
--------------------------------------
I had a look at the listed problems:
The old (4.2.6) version of nodejs in Ubuntu repos is usually mitigated by
installing from third party package sources:
[https://nodejs.org/en/download/package-manager/]
This already happens in the Ubuntu Docker builds, my suggestion is to change
the Travis builds to do the same.
One can identify what causes a certain npm package to be installed by running
"npm ls package-name".
*For dependencies of the nodejs package (in package.json):*
The outdated "minimatch" and "node-uuid" packages are dependencies of
"run-browser", from what I can tell it is only used in a
[disabled|https://github.com/apache/thrift/blob/b4f22ff30119ea5cadf9b16e97afdcabefe06696/lib/nodejs/test/testAll.sh#L100]
test for the nodejs library.
"tough-cookie" is a dependency of "phantomjs-prebuilt", which is up to date in
version 2.1.16. Reading the security advisory I don't think there is a
vulnerability for thrift users or developers in our case.
*For dependencies of the js lib test runner (in lib/js/package.json):*
"grunt-external-daemon" (and "grunt-shell") could probably be replaced with
"grunt-shell-spawn", which is also a bit dated but claims to work with recent
versions of grunt.
Outdated "grunt" again depends on an outdated "minimatch".
I will see which of those can be resolved quickly and create pull-requests.
> js and nodejs libraries need to be refreshed with current libraries
> -------------------------------------------------------------------
>
> Key: THRIFT-4509
> URL: https://issues.apache.org/jira/browse/THRIFT-4509
> Project: Thrift
> Issue Type: Improvement
> Components: JavaScript - Library, Node.js - Library
> Affects Versions: 0.11.0
> Reporter: James E. King, III
> Priority: Critical
> Labels: security
>
> The npm libraries that our js and nodejs depend on are starting to go end of
> life.
> As it stands the build is just barely holding together, and as of 5 hours ago
> the "ws" package dropped support for node < 4.5.0; Ubuntu Xenial 16.04 LTS
> uses node v4.2.6.
> There are other issues:
> {noformat}
> Running "shell:InstallThriftNodeJSDep" (shell) task
> WARN engine [email protected]: wanted: {"node":">=4.5.0"} (current:
> {"node":"4.2.6","npm":"3.5.2"})
> npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or
> higher to avoid a RegExp DoS issue
> npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or
> higher to avoid a RegExp DoS issue
> npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or
> higher to avoid a RegExp DoS issue
> npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or
> higher to avoid a RegExp DoS issue
> npm WARN deprecated [email protected]: Use uuid module instead
> npm WARN deprecated [email protected]: ReDoS vulnerability parsing
> Set-Cookie https://nodesecurity.io/advisories/130
> {noformat}
> Some of these are security issues.
> In addition the js module depends on
> https://www.npmjs.com/package/grunt-external-daemon which requires grunt
> 0.4.0, which is really old and may contribute to requiring older versions of
> things that are posting deprecations.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)