[하루한줄] CVE-2021-21315: node js library command injection
URL
CVE-2021-21315-systeminformation
Target
systeminformation Library for Node.JS (npm package “systeminformation”) < 5.3.1
Explain
CVE-2021-21315는 npm 패키지인 systeminformation
에서 발생하는 command injection 취약점입니다. systeminformation
패키지는 하드웨어, 시스템 및 OS 등의 세부 정보를 검색하는 기능의 오픈 소스 함수 모음입니다. 그중 si.inetLatency()
, si.inetChecksite()
, si.services()
, si.processLoad()
에 사용될 파라미터 값은 sanitizing 해야 하며 array 형태로 들어오는 데이터를 모두 차단해야 합니다.
String array 데이터는 함수 sanitizeShellString()
의 sanitizing 작업을 무시할 수 있어si.inetLatency()
, si.inetChecksite()
, si.services()
, si.processLoad()
함수들의 서비스 파라미터로 사용될 시 command injection이 가능합니다.
const si = require('systeminformation');
const command = "$(<OS Command>)";
si.inetChecksite([command]);
본 글은 CC BY-SA 4.0 라이선스로 배포됩니다. 공유 또는 변경 시 반드시 출처를 남겨주시기 바랍니다.