Insecure use of /tmp folder
cli is an npm package used for rapidly building command line apps.
When used in
daemon mode, the library makes insecure use of two files in the
/tmp/<app-name>.log. These allow an attacker to overwrite files they typically cannot access, but that are accessible by the user running the CLI-using app. This is possible since the
/tmp/ folder is (typically) writeable to all system users, and because the names of the files in question are easily predicted by an attacker.
Note that while this is a real vulnerability, it relies on functionality (
daemon mode) which is only supported in very old Node versions (0.8 or older), and so is unlikely to be used by most
cli users. To avoid any doubt, the fixed version (1.0.0) removes support for this feature entirely.
How to fix Insecure use of /tmp folder?
cli to version
1.0.0 or greater, which disables the affected feature.
From the fix release notes:
This feature relies on a beta release (e.g. version 0.5.1) of a Node.js
module on npm--one that was superseded by a stable (e.g. version 1.0)
release published three years ago . Due to a build-time dependency on
the long-since deprecated `node-waf` tool, the module at that version
can only be built for Node.js versions 0.8 and below.
Given this, actual usage of this feature is likely very limited. Remove
it completely so the integrity of this module's core functionality can