Skip to content

Security Fix for Remote Code Execution - huntr.dev#1

Open
huntr-helper wants to merge 3 commits intosugojs:masterfrom
418sec:master
Open

Security Fix for Remote Code Execution - huntr.dev#1
huntr-helper wants to merge 3 commits intosugojs:masterfrom
418sec:master

Conversation

@huntr-helper
Copy link
Copy Markdown

https://huntr.dev/users/alromh87 has fixed the Remote Code Execution vulnerability 🔨. alromh87 has been awarded $25 for fixing the vulnerability through the huntr bug bounty program 💵. Think you could fix a vulnerability like this?

Get involved at https://huntr.dev/

Q | A
Version Affected | ALL
Bug Fix | YES
Original Pull Request | 418sec#2
Vulnerability README | https://github.com/418sec/huntr/blob/master/bounties/npm/@sugo/wkhtmltopdf/1/README.md

User Comments:

📊 Metadata *

Bounty URL: https://www.huntr.dev/bounties/1-npm-%40sugo%2Fwkhtmltopdf

⚙️ Description *

wkhtmltopdf was vulnerable against arbitrary command injection cause some user supplied inputs were taken and composed into string to be executed without prior sanitization
After update Arbitary Code Execution is avoided

💻 Technical Description *

Commands that relay on piping functions are excuted usng spawn and piping, shell-escape was used to sanitize params for execution on non windows systems.

🐛 Proof of Concept (PoC) *

  1. Create the following PoC file:
// poc.js
var wkp = require("@sugo/wkhtmltopdf")
wkp.wkhtmltopdf("test", [';touch', 'HACKED']);
  1. Check there aren't files called HACKED
  2. Execute the following commands in another terminal:
npm i @sugo/wkhtmltopdf # Install affected module
node poc.js #  Run the PoC
  1. Recheck the files: now HACKED has been created

Captura de pantalla de 2020-09-09 15-13-05

🔥 Proof of Fix (PoF) *

After fix no file is created

Captura de pantalla de 2020-09-09 16-17-55

👍 User Acceptance Testing (UAT)

Commands can be executed normally, functionality unafected
Captura de pantalla de 2020-09-09 16-23-42
pdf created with util

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants