Command Injection Affecting rpi package, versions *



    Exploit Maturity Proof of concept
    Attack Complexity Low
    Confidentiality High
Expand this section
9.8 critical

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk ID SNYK-JS-RPI-548942
  • published 18 Feb 2020
  • disclosed 18 Feb 2020
  • credit JHU System Security Lab

How to fix?

There is no fixed version for rpi.


rpi is a Node.js library to use the Raspberry Pi GPIOs.

Affected versions of this package are vulnerable to Command Injection. The variable pinNumbver in function GPIO within src/lib/gpio.js is used as part of the arguement of exec function without any sanitization.

PoC by JHU System Security Lab

var RPI = require("rpi");
var pin = new RPI.GPIO(';touch vulnerable.txt;', '123');