systeminformation — это библиотека информации о системе и ОС для node.js. До версии 5.31.7 функция networkInterfaces() в Linux была уязвима для внедрения команд ОС через исходную директиву интерфейсов Debian/Ubuntu(5), поскольку lib/network.js checkLinuxDCHPInterfaces() читает /etc/network/interfaces, извлекает исходный токен <path> из содержимого файла и интерполирует его без кавычек в cat ${file} 2> /dev/null | grep 'iface\|source', выполняемый execSync(cmd, util.execOptsLinux), позволяет пути, содержащему метасимволы оболочки, выполнять команды в любом процессе, который вызывает networkInterfaces(), в том числе через getStaticData() и getAllData(). Эта проблема исправлена в версии 5.31.7.
Показать оригинальное описание (EN)
systeminformation is a System and OS information library for node.js. Prior to 5.31.7, networkInterfaces() on Linux is vulnerable to OS command injection through the Debian/Ubuntu interfaces(5) source directive because lib/network.js checkLinuxDCHPInterfaces() reads /etc/network/interfaces, extracts a source <path> token from file content, and interpolates it unquoted into cat ${file} 2> /dev/null | grep 'iface\|source' executed by execSync(cmd, util.execOptsLinux), allowing a path containing shell metacharacters to execute commands in any process that calls networkInterfaces(), including via getStaticData() and getAllData(). This issue is fixed in version 5.31.7.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Systeminformation Systeminformation
cpe:2.3:a:systeminformation:systeminformation:*:*:*:*:*:node.js:*:*
|
— |
5.31.7
|