[ 
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 hawk@6.0.2: wanted: {"node":">=4.5.0"} (current: 
> {"node":"4.2.6","npm":"3.5.2"})
> npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or 
> higher to avoid a RegExp DoS issue
> npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or 
> higher to avoid a RegExp DoS issue
> npm WARN deprecated minimatch@0.4.0: Please update to minimatch 3.0.2 or 
> higher to avoid a RegExp DoS issue
> npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or 
> higher to avoid a RegExp DoS issue
> npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
> npm WARN deprecated tough-cookie@2.2.2: 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)

Reply via email to