Every CVE Search/ Get API key

CVE-2016-10538

Arbitrary File Write in cli

3.5 LowFix available

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
Required

What an attacker can affect

Confidentiality
None
Integrity
Low
Availability
None

Exploit likelihood

0.98%Up 0.1 points since Feb 4, 2022
90%50%10%1%

What each source reports

NVD Score used 3.5

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Record
CVE-2016-10538
CVSS 3.0
3.5 LowCVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
CVSS 2.0
4.9 MediumAV:N/AC:M/Au:S/C:N/I:P/A:P
Weakness
CWE-22, CWE-362
Updated
2026-11-02
CVE List No score

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Record
CVE-2016-10538
Weakness
CWE-22
Updated
2026-11-02
EUVDEUVD-2019-0240 No score

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Record
EUVD-2019-0240
Updated
2026-11-03
GitHub AdvisoriesGHSA-6cpc-mj5c-m9rq No score

Arbitrary File Write in cli

Affected versions of cli use predictable temporary file names. If an attacker can create a symbolic link at the location of one of these temporarly file names, the attacker can arbitrarily write to any file that the user which owns the cli process has permission to write to.

Proof of Concept

By creating Symbolic Links at the following locations, the target of the link can be written to.

lock_file = '/tmp/' + cli.app + '.pid',
log_file = '/tmp/' + cli.app + '.log';

Recommendation

Update to version 1.0.0 or later.

Record
GHSA-6cpc-mj5c-m9rq
Weakness
CWE-22
Updated
2026-11-02
OSV 3.5

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Record
CVE-2016-10538
CVSS 3.0
3.5 LowCVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2016-10538 3.5

The package node-cli before 1.0.0 insecurely uses the lock_file and log_file. Both of these are temporary, but it allows the starting user to overwrite any file they have access to.

Record
UBUNTU-CVE-2016-10538
CVSS 3.0
3.5 LowCVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:N
Updated
2026-11-02
Show 4 moreShow less
OSVCLSA-2026-1774225194 No score

TuxCare security update for cli (1 CVE)

TuxCare rebuilt cli to address 1 CVE. Fixed in 0.6.6-tuxcare.1.

Record
CLSA-2026-1774225194
Updated
2026-11-02
OSVCLSA-2026-1774225195 No score

TuxCare security update for cli (1 CVE)

TuxCare rebuilt cli to address 1 CVE. Fixed in 0.4.3-tuxcare.1.

Record
CLSA-2026-1774225195
Updated
2026-11-02
OSVCLSA-2026-1789900487 No score

TuxCare security update for cli (1 CVE)

TuxCare rebuilt cli to address 1 CVE. Fixed in 0.4.5-tuxcare.1.

Record
CLSA-2026-1789900487
Updated
2026-11-02
OSVGHSA-6cpc-mj5c-m9rq No score

Arbitrary File Write in cli

Affected versions of cli use predictable temporary file names. If an attacker can create a symbolic link at the location of one of these temporarly file names, the attacker can arbitrarily write to any file that the user which owns the cli process has permission to write to.

Proof of Concept

By creating Symbolic Links at the following locations, the target of the link can be written to.

lock_file = '/tmp/' + cli.app + '.pid',
log_file = '/tmp/' + cli.app + '.log';

Recommendation

Update to version 1.0.0 or later.

Record
GHSA-6cpc-mj5c-m9rq
Weakness
CWE-22
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
cli
npm
before 1.0.0
1.0.0
cli
TuxCare:npm
0.6.6-tuxcare.0 up to 0.6.6-tuxcare.1, plus listed versions
0.6.6
0.6.6-tuxcare.1
cli
TuxCare:npm
0.4.3-tuxcare.0 up to 0.4.3-tuxcare.1, plus listed versions
0.4.3
0.4.3-tuxcare.1
cli
TuxCare:npm
0.4.5-tuxcare.0 up to 0.4.5-tuxcare.1, plus listed versions
0.4.5
0.4.5-tuxcare.1
node-cli
Ubuntu:16.04:LTS
All versions, plus listed versions
0.4.4~20120516-1
None known
node-cli
Ubuntu:18.04:LTS
All versions, plus listed versions
0.4.4~20120516-1
None known

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2016-10538 is a low vulnerability (CVSS 3.5) in Cli Project Cli, published May 31, 2018. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.98%, the 62nd percentile. Fixed in cli 1.0.0.

References

MoveEnter Open