From af9b8a522e31271ab7f82ef75e92cba12f52da90 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 14 Mar 2021 18:08:45 +0100 Subject: [PATCH 01/22] sanitizeShellString() improvement --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 6 +++--- docs/security.html | 17 +++++++++++++++++ lib/util.js | 9 +++++---- 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ad1b1c..40e1f1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.3 | 2021-03-10 | `sanitizeShellString()` improvement | | 5.6.2 | 2021-03-10 | `networkInterfaces()` `cpu()` improvement (win) | | 5.6.1 | 2021-03-03 | `get()` fixed issue boolean parameters | | 5.6.0 | 2021-03-03 | `cpuTemperature()` added socket and chipset temp (linux) | diff --git a/docs/history.html b/docs/history.html index ddeb8cd..f91d534 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.3 + 2021-03-14 + sanitizeShellString() improvements + 5.6.2 2021-03-10 diff --git a/docs/index.html b/docs/index.html index 0965949..dfaecaf 100644 --- a/docs/index.html +++ b/docs/index.html @@ -166,11 +166,11 @@
- Security advisory:
Update to v5.3.2
+ Security advisory:
Update to v5.6.3
systeminformation
 
-
New Version: 5.6.2
+
New Version: 5.6.3
@@ -209,7 +209,7 @@
Downloads last month
-
395
+
397
Dependents
diff --git a/docs/security.html b/docs/security.html index 16637dc..7508f12 100644 --- a/docs/security.html +++ b/docs/security.html @@ -43,6 +43,23 @@
Security Advisories
+

Command Injection Vulnerability

+

Affected versions: + < 5.6.3 and < 4.34.13
+ Date: 2021-03-14
+ CVE indentifier - +

+ +

Impact

+

We had an issue that there was a possibility to perform a potential command injection possibility by passing a manipulated string prototype as a parameter to the following functions. Affected commands: inetLatency(), inetChecksite(), services(), processLoad().

+ +

Patch

+

Problem was fixed with additional parameter checking. Please upgrade to version >= 5.6.3 (or >= 4.34.13 if you are using version 4).

+ +

Workarround

+

If you cannot upgrade, be sure to check or sanitize parameter strings that are passed to inetLatency(), inetChecksite(), services(), processLoad() (string only)

+
+

Insufficient File Scheme Validation

Affected versions: < 5.3.2 and < 4.34.12
diff --git a/lib/util.js b/lib/util.js index 24b3e6e..04e5a89 100644 --- a/lib/util.js +++ b/lib/util.js @@ -529,10 +529,11 @@ function sanitizeShellString(str, strict = false) { s[i] === '\'' || s[i] === '`' || s[i] === '"' || - strict && s[i] === '@' || - strict && s[i] === ' ' || - strict && s[i] == '{' || - strict && s[i] == ')')) { + s[i].length > 1 || + (strict && s[i] === '@') || + (strict && s[i] === ' ') || + (strict && s[i] == '{') || + (strict && s[i] == ')'))) { result = result + s[i]; } } From d84fea93dc1dc1225bc2d86a6fddc6ba1595ce26 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 14 Mar 2021 18:17:10 +0100 Subject: [PATCH 02/22] updated docs --- docs/security.html | 4 ++-- docs/v4/history.html | 5 +++++ docs/v4/index.html | 4 ++-- docs/v4/security.html | 17 +++++++++++++++++ 4 files changed, 26 insertions(+), 4 deletions(-) diff --git a/docs/security.html b/docs/security.html index 7508f12..aff46fb 100644 --- a/docs/security.html +++ b/docs/security.html @@ -45,7 +45,7 @@

Command Injection Vulnerability

Affected versions: - < 5.6.3 and < 4.34.13
+ < 5.6.3 and < 4.34.16
Date: 2021-03-14
CVE indentifier -

@@ -54,7 +54,7 @@

We had an issue that there was a possibility to perform a potential command injection possibility by passing a manipulated string prototype as a parameter to the following functions. Affected commands: inetLatency(), inetChecksite(), services(), processLoad().

Patch

-

Problem was fixed with additional parameter checking. Please upgrade to version >= 5.6.3 (or >= 4.34.13 if you are using version 4).

+

Problem was fixed with additional parameter checking. Please upgrade to version >= 5.6.3 (or >= 4.34.16 if you are using version 4).

Workarround

If you cannot upgrade, be sure to check or sanitize parameter strings that are passed to inetLatency(), inetChecksite(), services(), processLoad() (string only)

diff --git a/docs/v4/history.html b/docs/v4/history.html index 14962b5..8efd931 100644 --- a/docs/v4/history.html +++ b/docs/v4/history.html @@ -83,6 +83,11 @@ + + 4.34.16 + 2021-03-14 + sanitizeShellString() improvements + 4.34.15 2020-02-23 diff --git a/docs/v4/index.html b/docs/v4/index.html index 4348562..b51e9d8 100644 --- a/docs/v4/index.html +++ b/docs/v4/index.html @@ -165,12 +165,12 @@
- Security advisory:
Update to v4.34.11
+ Security advisory:
Update to v4.34.16
systeminformation
 
Version 4 documentation
-
Current Version: 4.34.15
+
Current Version: 4.34.16
diff --git a/docs/v4/security.html b/docs/v4/security.html index 6a41d03..f478020 100644 --- a/docs/v4/security.html +++ b/docs/v4/security.html @@ -42,6 +42,23 @@
Security Advisories
+

Command Injection Vulnerability

+

Affected versions: + < 4.34.13
+ Date: 2021-03-14
+ CVE indentifier - +

+ +

Impact

+

We had an issue that there was a possibility to perform a potential command injection possibility by passing a manipulated string prototype as a parameter to the following functions. Affected commands: inetLatency(), inetChecksite(), services(), processLoad().

+ +

Patch

+

Problem was fixed with additional parameter checking. Please upgrade to version >= 4.34.13 if you are using version 4.

+ +

Workarround

+

If you cannot upgrade, be sure to check or sanitize parameter strings that are passed to inetLatency(), inetChecksite(), services(), processLoad() (string only)

+
+

Insufficient File Scheme Validation

Affected versions: 4.34.12
From b106e4153834acab259f336e049fb17b51cf1506 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 14 Mar 2021 18:17:21 +0100 Subject: [PATCH 03/22] 5.6.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7ebfa89..7c2deee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.2", + "version": "5.6.3", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 7922366d707de7f20995fc8e30ac3153636bf35f Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 11:21:32 +0100 Subject: [PATCH 04/22] sanitizeShellString() and other security improvements --- CHANGELOG.md | 3 ++- docs/history.html | 5 +++++ docs/index.html | 4 ++-- docs/security.html | 6 +++--- docs/v4/history.html | 5 +++++ docs/v4/index.html | 4 ++-- docs/v4/security.html | 6 +++--- lib/internet.js | 32 ++++++++++++++++++-------------- lib/network.js | 3 ++- lib/processes.js | 23 +++++++++++++---------- lib/util.js | 41 ++++++++++++++++++++++++++++++++++++++++- 11 files changed, 95 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 40e1f1c..94be3e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,7 +77,8 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | -| 5.6.3 | 2021-03-10 | `sanitizeShellString()` improvement | +| 5.6.4 | 2021-03-15 | `sanitizeShellString()` and other security improvements | +| 5.6.3 | 2021-03-14 | `sanitizeShellString()` improvement | | 5.6.2 | 2021-03-10 | `networkInterfaces()` `cpu()` improvement (win) | | 5.6.1 | 2021-03-03 | `get()` fixed issue boolean parameters | | 5.6.0 | 2021-03-03 | `cpuTemperature()` added socket and chipset temp (linux) | diff --git a/docs/history.html b/docs/history.html index f91d534..3e66d56 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.4 + 2021-03-15 + sanitizeShellString() and other security improvements + 5.6.3 2021-03-14 diff --git a/docs/index.html b/docs/index.html index dfaecaf..6262226 100644 --- a/docs/index.html +++ b/docs/index.html @@ -166,11 +166,11 @@

- Security advisory:
Update to v5.6.3
+ Security advisory:
Update to v5.6.4
systeminformation
 
-
New Version: 5.6.3
+
New Version: 5.6.4
diff --git a/docs/security.html b/docs/security.html index aff46fb..3eeb8a8 100644 --- a/docs/security.html +++ b/docs/security.html @@ -45,8 +45,8 @@

Command Injection Vulnerability

Affected versions: - < 5.6.3 and < 4.34.16
- Date: 2021-03-14
+ < 5.6.4 and < 4.34.17
+ Date: 2021-03-15
CVE indentifier -

@@ -54,7 +54,7 @@

We had an issue that there was a possibility to perform a potential command injection possibility by passing a manipulated string prototype as a parameter to the following functions. Affected commands: inetLatency(), inetChecksite(), services(), processLoad().

Patch

-

Problem was fixed with additional parameter checking. Please upgrade to version >= 5.6.3 (or >= 4.34.16 if you are using version 4).

+

Problem was fixed with additional parameter checking. Please upgrade to version >= 5.6.4 (or >= 4.34.17 if you are using version 4).

Workarround

If you cannot upgrade, be sure to check or sanitize parameter strings that are passed to inetLatency(), inetChecksite(), services(), processLoad() (string only)

diff --git a/docs/v4/history.html b/docs/v4/history.html index 8efd931..55aa575 100644 --- a/docs/v4/history.html +++ b/docs/v4/history.html @@ -83,6 +83,11 @@ + + 4.34.17 + 2021-03-14 + sanitizeShellString() and other security improvements + 4.34.16 2021-03-14 diff --git a/docs/v4/index.html b/docs/v4/index.html index b51e9d8..2b08555 100644 --- a/docs/v4/index.html +++ b/docs/v4/index.html @@ -165,12 +165,12 @@
- Security advisory:
Update to v4.34.16
+ Security advisory:
Update to v4.34.17
systeminformation
 
Version 4 documentation
-
Current Version: 4.34.16
+
Current Version: 4.34.17
diff --git a/docs/v4/security.html b/docs/v4/security.html index f478020..3907e78 100644 --- a/docs/v4/security.html +++ b/docs/v4/security.html @@ -44,8 +44,8 @@

Command Injection Vulnerability

Affected versions: - < 4.34.13
- Date: 2021-03-14
+ < 4.34.17
+ Date: 2021-03-15
CVE indentifier -

@@ -53,7 +53,7 @@

We had an issue that there was a possibility to perform a potential command injection possibility by passing a manipulated string prototype as a parameter to the following functions. Affected commands: inetLatency(), inetChecksite(), services(), processLoad().

Patch

-

Problem was fixed with additional parameter checking. Please upgrade to version >= 4.34.13 if you are using version 4.

+

Problem was fixed with additional parameter checking. Please upgrade to version >= 4.34.17 if you are using version 4.

Workarround

If you cannot upgrade, be sure to check or sanitize parameter strings that are passed to inetLatency(), inetChecksite(), services(), processLoad() (string only)

diff --git a/lib/internet.js b/lib/internet.js index 6c4e9af..9ac1e71 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -13,7 +13,7 @@ // 12. Internet // ---------------------------------------------------------------------------------- -const exec = require('child_process').exec; +// const exec = require('child_process').exec; const execFile = require('child_process').execFile; const util = require('./util'); @@ -46,11 +46,12 @@ function inetChecksite(url, callback) { } let urlSanitized = ''; const s = util.sanitizeShellString(url, true); - for (let i = 0; i <= 2000; i++) { + const mathMin = util.mathMin; + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { s[i].__proto__.toLowerCase = util.stringToLower; const sl = s[i].toLowerCase(); - if (sl && sl[0] && !sl[1]) { + if (sl && sl[0] && !sl[1] && sl[0].length === 1) { urlSanitized = urlSanitized + sl[0]; } } @@ -65,12 +66,14 @@ function inetChecksite(url, callback) { } let t = Date.now(); if (_linux || _freebsd || _openbsd || _netbsd || _darwin || _sunos) { - let args = ' -I --connect-timeout 5 -m 5 ' + urlSanitized + ' 2>/dev/null | head -n 1 | cut -d " " -f2'; + let args = ['-I', '--connect-timeout', '5', '-m', '5']; + args.push(urlSanitized); let cmd = 'curl'; - exec(cmd + args, function (error, stdout) { - let statusCode = parseInt(stdout.toString()); + util.execSave(cmd, args).then((stdout) => { + const lines = stdout.split('\n'); + let statusCode = lines[0] && lines[0].indexOf(' ') >= 0 ? parseInt(lines[0].split(' ')[1], 10) : 404; result.status = statusCode || 404; - result.ok = !error && (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304); + result.ok = (statusCode === 200 || statusCode === 301 || statusCode === 302 || statusCode === 304); result.ms = (result.ok ? Date.now() - t : null); if (callback) { callback(result); } resolve(result); @@ -142,7 +145,8 @@ function inetLatency(host, callback) { } let hostSanitized = ''; const s = (util.isPrototypePolluted() ? '8.8.8.8' : util.sanitizeShellString(host, true)).trim(); - for (let i = 0; i <= 2000; i++) { + const mathMin = util.mathMin; + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { s[i].__proto__.toLowerCase = util.stringToLower; const sl = s[i].toLowerCase(); @@ -171,10 +175,10 @@ function inetLatency(host, callback) { params = '-c2 -t3 ' + hostSanitized; filt = 'avg'; } - execFile('ping', params.split(' '), function (error, stdout) { + util.execSave('ping', params.split(' ')).then((stdout) => { let result = null; - if (!error) { - const lines = stdout.toString().split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); + if (stdout) { + const lines = stdout.split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); const line = lines.split('='); if (line.length > 1) { @@ -191,10 +195,10 @@ function inetLatency(host, callback) { if (_sunos) { const params = '-s -a ' + hostSanitized + ' 56 2'; const filt = 'avg'; - execFile('ping', params.split(' '), { timeout: 3000 }, function (error, stdout) { + util.execSave('ping', params.split(' '), { timeout: 3000 }).then((stdout) => { let result = null; - if (!error) { - const lines = stdout.toString().split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); + if (stdout) { + const lines = stdout.split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); const line = lines.split('='); if (line.length > 1) { const parts = line[1].split('/'); diff --git a/lib/network.js b/lib/network.js index 9e1087b..5398ece 100644 --- a/lib/network.js +++ b/lib/network.js @@ -1061,7 +1061,8 @@ function networkStatsSingle(iface) { process.nextTick(() => { let ifaceSanitized = ''; const s = util.isPrototypePolluted() ? '---' : util.sanitizeShellString(iface); - for (let i = 0; i <= 2000; i++) { + const mathMin = util.mathMin; + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { ifaceSanitized = ifaceSanitized + s[i]; } diff --git a/lib/processes.js b/lib/processes.js index 400c01f..2f234c6 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -111,7 +111,8 @@ function services(srv, callback) { srvString.__proto__.trim = util.stringTrim; const s = util.sanitizeShellString(srv); - for (let i = 0; i <= 2000; i++) { + const mathMin = util.mathMin; + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { srvString = srvString + s[i]; } @@ -164,15 +165,15 @@ function services(srv, callback) { } } } - if ((_darwin) && srvString === '*') { // service enumeration mnot yet suported on mac OS + if ((_darwin) && srvString === '*') { // service enumeration not yet suported on mac OS if (callback) { callback(result); } resolve(result); } - let comm = (_darwin) ? 'ps -caxo pcpu,pmem,pid,command' : 'ps -axo pcpu,pmem,pid,command'; + let args = (_darwin) ? ['-caxo', 'pcpu,pmem,pid,command'] : ['-axo', 'pcpu,pmem,pid,command']; if (srvString !== '' && srvs.length > 0) { - exec(comm + ' | grep -v grep | grep -iE "' + srvString + '"', { maxBuffer: 1024 * 20000 }, function (error, stdout) { // lgtm [js/shell-command-constructed-from-input] - if (!error) { - let lines = stdout.toString().replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); + util.execSave('ps', args).then((stdout) => { + if (stdout) { + let lines = stdout.replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); srvs.forEach(function (srv) { let ps; if (_darwin) { @@ -267,9 +268,10 @@ function services(srv, callback) { resolve(result); } } else { - exec('ps -o comm | grep -v grep | egrep "' + srvString + '"', { maxBuffer: 1024 * 20000 }, function (error, stdout) { // lgtm [js/shell-command-constructed-from-input] - if (!error) { - let lines = stdout.toString().replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); + args = ['-o', 'comm']; + util.execSave('ps', args).then((stdout) => { + if (stdout) { + let lines = stdout.replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); srvs.forEach(function (srv) { let ps = lines.filter(function (e) { return e.indexOf(srv) !== -1; @@ -909,7 +911,8 @@ function processLoad(proc, callback) { processesString.__proto__.trim = util.stringTrim; const s = util.sanitizeShellString(proc); - for (let i = 0; i <= 2000; i++) { + const mathMin = util.mathMin; + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { processesString = processesString + s[i]; } diff --git a/lib/util.js b/lib/util.js index 04e5a89..d5c689f 100644 --- a/lib/util.js +++ b/lib/util.js @@ -58,6 +58,7 @@ const stringToString = new String().toString; const stringSubstr = new String().substr; const stringTrim = new String().trim; const stringStartWith = new String().startsWith; +const mathMin = Math.min; function isFunction(functionToCheck) { let getType = {}; @@ -389,6 +390,42 @@ function powerShell(cmd) { }); } +function execSave(cmd, args, options) { + let result = ''; + options = options || {}; + + return new Promise((resolve) => { + process.nextTick(() => { + try { + const child = spawn(cmd, args, options); + + if (child && !child.pid) { + child.on('error', function () { + resolve(result); + }); + } + if (child && child.pid) { + child.stdout.on('data', function (data) { + result += data.toString(); + }); + child.on('close', function () { + child.kill(); + resolve(result); + }); + child.on('error', function () { + child.kill(); + resolve(result); + }); + } else { + resolve(result); + } + } catch (e) { + resolve(result); + } + }); + }); +} + function getCodepage() { if (_windows) { if (!codepage) { @@ -506,7 +543,7 @@ function countLines(lines, startingWith) { function sanitizeShellString(str, strict = false) { const s = str || ''; let result = ''; - for (let i = 0; i <= 2000; i++) { + for (let i = 0; i <= mathMin(s.length, 2000); i++) { if (!(s[i] === undefined || s[i] === '>' || s[i] === '<' || @@ -925,6 +962,7 @@ exports.wmic = wmic; exports.darwinXcodeExists = darwinXcodeExists; exports.getVboxmanage = getVboxmanage; exports.powerShell = powerShell; +exports.execSave = execSave; exports.nanoSeconds = nanoSeconds; exports.countUniqueLines = countUniqueLines; exports.countLines = countLines; @@ -943,5 +981,6 @@ exports.stringToString = stringToString; exports.stringSubstr = stringSubstr; exports.stringTrim = stringTrim; exports.stringStartWith = stringStartWith; +exports.mathMin = mathMin; exports.WINDIR = WINDIR; exports.getFilesInPath = getFilesInPath; From 0be6fcd575c05687d1076d5cd6d75af2ebae5a46 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 11:42:12 +0100 Subject: [PATCH 05/22] sanitizeShellString() and other security improvements --- lib/docker.js | 2 +- lib/internet.js | 6 ++---- lib/network.js | 3 +-- lib/processes.js | 6 ++---- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/docker.js b/lib/docker.js index 235487e..89705eb 100644 --- a/lib/docker.js +++ b/lib/docker.js @@ -470,7 +470,7 @@ function dockerContainerStats(containerIDs, callback) { if (containerIDsSanitized !== '*') { containerIDsSanitized = ''; const s = (util.isPrototypePolluted() ? '' : util.sanitizeShellString(containerIDs, true)).trim(); - for (let i = 0; i <= 2000; i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { s[i].__proto__.toLowerCase = util.stringToLower; const sl = s[i].toLowerCase(); diff --git a/lib/internet.js b/lib/internet.js index 9ac1e71..1f75a71 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -46,8 +46,7 @@ function inetChecksite(url, callback) { } let urlSanitized = ''; const s = util.sanitizeShellString(url, true); - const mathMin = util.mathMin; - for (let i = 0; i <= mathMin(s.length, 2000); i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { s[i].__proto__.toLowerCase = util.stringToLower; const sl = s[i].toLowerCase(); @@ -145,8 +144,7 @@ function inetLatency(host, callback) { } let hostSanitized = ''; const s = (util.isPrototypePolluted() ? '8.8.8.8' : util.sanitizeShellString(host, true)).trim(); - const mathMin = util.mathMin; - for (let i = 0; i <= mathMin(s.length, 2000); i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { s[i].__proto__.toLowerCase = util.stringToLower; const sl = s[i].toLowerCase(); diff --git a/lib/network.js b/lib/network.js index 5398ece..0dc8d9e 100644 --- a/lib/network.js +++ b/lib/network.js @@ -1061,8 +1061,7 @@ function networkStatsSingle(iface) { process.nextTick(() => { let ifaceSanitized = ''; const s = util.isPrototypePolluted() ? '---' : util.sanitizeShellString(iface); - const mathMin = util.mathMin; - for (let i = 0; i <= mathMin(s.length, 2000); i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { ifaceSanitized = ifaceSanitized + s[i]; } diff --git a/lib/processes.js b/lib/processes.js index 2f234c6..510577a 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -111,8 +111,7 @@ function services(srv, callback) { srvString.__proto__.trim = util.stringTrim; const s = util.sanitizeShellString(srv); - const mathMin = util.mathMin; - for (let i = 0; i <= mathMin(s.length, 2000); i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { srvString = srvString + s[i]; } @@ -911,8 +910,7 @@ function processLoad(proc, callback) { processesString.__proto__.trim = util.stringTrim; const s = util.sanitizeShellString(proc); - const mathMin = util.mathMin; - for (let i = 0; i <= mathMin(s.length, 2000); i++) { + for (let i = 0; i <= util.mathMin(s.length, 2000); i++) { if (!(s[i] === undefined)) { processesString = processesString + s[i]; } From 01ef56cd5824ed6da1c11b37013a027fdef67524 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 11:51:30 +0100 Subject: [PATCH 06/22] sanitizeShellString() and other security improvements --- lib/internet.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/internet.js b/lib/internet.js index 1f75a71..2dc0d5a 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -14,7 +14,6 @@ // ---------------------------------------------------------------------------------- // const exec = require('child_process').exec; -const execFile = require('child_process').execFile; const util = require('./util'); let _platform = process.platform; @@ -213,9 +212,9 @@ function inetLatency(host, callback) { let result = null; try { const params = hostSanitized + ' -n 1'; - execFile('ping', params.split(' '), util.execOptsWin, function (error, stdout) { - if (!error) { - let lines = stdout.toString().split('\r\n'); + util.execSave('ping', params.split(' '), util.execOptsWin).then((stdout) => { + if (stdout) { + let lines = stdout.split('\r\n'); lines.shift(); lines.forEach(function (line) { if ((line.toLowerCase().match(/ms/g) || []).length === 3) { From 244186ef5ea7e3e3eb7e973f702d9a81999e2789 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 13:04:08 +0100 Subject: [PATCH 07/22] 5.6.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7c2deee..bafcbbd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.3", + "version": "5.6.4", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 0c700f61e4997547a20942bbdb7857d10df311c1 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 18:11:28 +0100 Subject: [PATCH 08/22] cpuTemperature() fix (linux) --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 2 +- lib/cpu.js | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94be3e9..424601d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.5 | 2021-03-15 | `cpuTemperature()` fix (linux) | | 5.6.4 | 2021-03-15 | `sanitizeShellString()` and other security improvements | | 5.6.3 | 2021-03-14 | `sanitizeShellString()` improvement | | 5.6.2 | 2021-03-10 | `networkInterfaces()` `cpu()` improvement (win) | diff --git a/docs/history.html b/docs/history.html index 3e66d56..79a20ab 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.5 + 2021-03-15 + cpuTemperature() fix linux + 5.6.4 2021-03-15 diff --git a/docs/index.html b/docs/index.html index 6262226..f87088f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.6.4
+
New Version: 5.6.5
diff --git a/lib/cpu.js b/lib/cpu.js index 6476301..8ef1f02 100644 --- a/lib/cpu.js +++ b/lib/cpu.js @@ -937,7 +937,7 @@ function cpuTemperature(callback) { if (_linux) { // CPU Chipset, Socket try { - const cmd = 'cat /sys/class/thermal/thermal_zone*/type; echo "-----"; cat /sys/class/thermal/thermal_zone*/temp;'; + const cmd = 'cat /sys/class/thermal/thermal_zone*/type 2>/dev/null; echo "-----"; cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null;'; const parts = execSync(cmd).toString().split('-----\n'); if (parts.length === 2) { const lines = parts[0].split('\n'); From cc15927a38089e948bff2f0fb584f3ed492ff92f Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 15 Mar 2021 18:11:37 +0100 Subject: [PATCH 09/22] 5.6.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index bafcbbd..28e2222 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.4", + "version": "5.6.5", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 2c54d64aed09fe6ce0532faec1b81b3d6e75176f Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 16 Mar 2021 11:17:37 +0100 Subject: [PATCH 10/22] code refactoring --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 6 +++--- lib/internet.js | 18 +++++++++--------- lib/processes.js | 12 +++++------- lib/util.js | 4 ++-- 6 files changed, 25 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 424601d..9912deb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.6 | 2021-03-16 | code refactoring | | 5.6.5 | 2021-03-15 | `cpuTemperature()` fix (linux) | | 5.6.4 | 2021-03-15 | `sanitizeShellString()` and other security improvements | | 5.6.3 | 2021-03-14 | `sanitizeShellString()` improvement | diff --git a/docs/history.html b/docs/history.html index 79a20ab..a5fd53c 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.6 + 2021-03-16 + code refactoring + 5.6.5 2021-03-15 diff --git a/docs/index.html b/docs/index.html index f87088f..ac465fb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.6.5
+
New Version: 5.6.6
@@ -201,7 +201,7 @@
-
14,185
+
14,225
Lines of code
@@ -209,7 +209,7 @@
Downloads last month
-
397
+
398
Dependents
diff --git a/lib/internet.js b/lib/internet.js index 2dc0d5a..23e6d6f 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -67,7 +67,7 @@ function inetChecksite(url, callback) { let args = ['-I', '--connect-timeout', '5', '-m', '5']; args.push(urlSanitized); let cmd = 'curl'; - util.execSave(cmd, args).then((stdout) => { + util.execSafe(cmd, args).then((stdout) => { const lines = stdout.split('\n'); let statusCode = lines[0] && lines[0].indexOf(' ') >= 0 ? parseInt(lines[0].split(' ')[1], 10) : 404; result.status = statusCode || 404; @@ -161,18 +161,18 @@ function inetLatency(host, callback) { let filt; if (_linux || _freebsd || _openbsd || _netbsd || _darwin) { if (_linux) { - params = '-c 2 -w 3 ' + hostSanitized; + params = ['-c', '2', '-w', '3', hostSanitized]; filt = 'rtt'; } if (_freebsd || _openbsd || _netbsd) { - params = '-c 2 -t 3 ' + hostSanitized; + params = ['-c', '2', '-t', '3', hostSanitized]; filt = 'round-trip'; } if (_darwin) { - params = '-c2 -t3 ' + hostSanitized; + params = ['-c2', '-t3', hostSanitized]; filt = 'avg'; } - util.execSave('ping', params.split(' ')).then((stdout) => { + util.execSafe('ping', params).then((stdout) => { let result = null; if (stdout) { const lines = stdout.split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); @@ -190,9 +190,9 @@ function inetLatency(host, callback) { }); } if (_sunos) { - const params = '-s -a ' + hostSanitized + ' 56 2'; + const params = ['-s', '-a', hostSanitized, '56', '2']; const filt = 'avg'; - util.execSave('ping', params.split(' '), { timeout: 3000 }).then((stdout) => { + util.execSafe('ping', params, { timeout: 3000 }).then((stdout) => { let result = null; if (stdout) { const lines = stdout.split('\n').filter(line => line.indexOf(filt) >= 0).join('\n'); @@ -211,8 +211,8 @@ function inetLatency(host, callback) { if (_windows) { let result = null; try { - const params = hostSanitized + ' -n 1'; - util.execSave('ping', params.split(' '), util.execOptsWin).then((stdout) => { + const params = [hostSanitized, '-n', '1']; + util.execSafe('ping', params, util.execOptsWin).then((stdout) => { if (stdout) { let lines = stdout.split('\r\n'); lines.shift(); diff --git a/lib/processes.js b/lib/processes.js index 510577a..c569a22 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -18,8 +18,6 @@ const fs = require('fs'); const path = require('path'); const exec = require('child_process').exec; const execSync = require('child_process').execSync; -const execFile = require('child_process').execFile; - const util = require('./util'); @@ -170,7 +168,7 @@ function services(srv, callback) { } let args = (_darwin) ? ['-caxo', 'pcpu,pmem,pid,command'] : ['-axo', 'pcpu,pmem,pid,command']; if (srvString !== '' && srvs.length > 0) { - util.execSave('ps', args).then((stdout) => { + util.execSafe('ps', args).then((stdout) => { if (stdout) { let lines = stdout.replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); srvs.forEach(function (srv) { @@ -268,7 +266,7 @@ function services(srv, callback) { } } else { args = ['-o', 'comm']; - util.execSave('ps', args).then((stdout) => { + util.execSafe('ps', args).then((stdout) => { if (stdout) { let lines = stdout.replace(/ +/g, ' ').replace(/,+/g, '.').split('\n'); srvs.forEach(function (srv) { @@ -1058,9 +1056,9 @@ function processLoad(proc, callback) { } if (_darwin || _linux || _freebsd || _openbsd || _netbsd) { - const params = '-axo pid,pcpu,pmem,comm'; - execFile('ps', params.split(' '), { maxBuffer: 1024 * 20000 }, function (error, stdout) { - if (!error) { + const params = ['-axo', 'pid,pcpu,pmem,comm']; + util.execSafe('ps', params).then((stdout) => { + if (stdout) { let procStats = []; let lines = stdout.toString().split('\n').filter(function (line) { if (processesString === '*') { return true; } diff --git a/lib/util.js b/lib/util.js index d5c689f..d7cd6bf 100644 --- a/lib/util.js +++ b/lib/util.js @@ -390,7 +390,7 @@ function powerShell(cmd) { }); } -function execSave(cmd, args, options) { +function execSafe(cmd, args, options) { let result = ''; options = options || {}; @@ -962,7 +962,7 @@ exports.wmic = wmic; exports.darwinXcodeExists = darwinXcodeExists; exports.getVboxmanage = getVboxmanage; exports.powerShell = powerShell; -exports.execSave = execSave; +exports.execSafe = execSafe; exports.nanoSeconds = nanoSeconds; exports.countUniqueLines = countUniqueLines; exports.countLines = countLines; From 5a6e509f4ac96ad6a6fd01685eda1b5caad4fb23 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 16 Mar 2021 11:24:21 +0100 Subject: [PATCH 11/22] 5.6.6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 28e2222..dd4a553 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.5", + "version": "5.6.6", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 1ff90056d39352016bce53dbd69f2ed9f41c92fd Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 16 Mar 2021 12:01:39 +0100 Subject: [PATCH 12/22] inetLatency() ineChecksite() schema validation --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 2 +- docs/security.html | 3 +++ docs/v4/history.html | 10 ++++++++++ docs/v4/index.html | 2 +- docs/v4/security.html | 3 +++ lib/internet.js | 4 ++-- 8 files changed, 26 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9912deb..8fdc899 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.7 | 2021-03-16 | `inetLatency()` `ineChecksite()` schema validation | | 5.6.6 | 2021-03-16 | code refactoring | | 5.6.5 | 2021-03-15 | `cpuTemperature()` fix (linux) | | 5.6.4 | 2021-03-15 | `sanitizeShellString()` and other security improvements | diff --git a/docs/history.html b/docs/history.html index a5fd53c..702e07c 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.8 + 2021-03-16 + inetLatency() inetChecksite() schema avlidation + 5.6.6 2021-03-16 diff --git a/docs/index.html b/docs/index.html index ac465fb..7c6f89f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.6.6
+
New Version: 5.6.7
diff --git a/docs/security.html b/docs/security.html index 3eeb8a8..590c081 100644 --- a/docs/security.html +++ b/docs/security.html @@ -43,6 +43,9 @@
Security Advisories
+

Passing User Paramters to Systeminformation

+

Be aware to not use inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input! We are doing a lot of input sanitation for those functions in this package but we cannot handle all cases!

+

Command Injection Vulnerability

Affected versions: < 5.6.4 and < 4.34.17
diff --git a/docs/v4/history.html b/docs/v4/history.html index 55aa575..2aedaf7 100644 --- a/docs/v4/history.html +++ b/docs/v4/history.html @@ -83,6 +83,16 @@ + + 4.34.19 + 2021-03-16 + inetLatency() inetChecksite() schema avlidation + + + 4.34.18 + 2021-03-16 + code refactoring + 4.34.17 2021-03-14 diff --git a/docs/v4/index.html b/docs/v4/index.html index 2b08555..9bedc4b 100644 --- a/docs/v4/index.html +++ b/docs/v4/index.html @@ -170,7 +170,7 @@

systeminformation
 
Version 4 documentation
-
Current Version: 4.34.17
+
Current Version: 4.34.19
diff --git a/docs/v4/security.html b/docs/v4/security.html index 3907e78..d7e8db4 100644 --- a/docs/v4/security.html +++ b/docs/v4/security.html @@ -42,6 +42,9 @@
Security Advisories
+

Passing User Paramters to Systeminformation

+

Be aware to not use inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input! We are doing a lot of input sanitation for those functions in this package but we cannot handle all cases!

+

Command Injection Vulnerability

Affected versions: < 4.34.17
diff --git a/lib/internet.js b/lib/internet.js index 23e6d6f..cc996e1 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -58,7 +58,7 @@ function inetChecksite(url, callback) { try { if (urlSanitized && !util.isPrototypePolluted()) { urlSanitized.__proto__.startsWith = util.stringStartWith; - if (urlSanitized.startsWith('file:')) { + if (urlSanitized.startsWith('file:') || urlSanitized.startsWith('gopher:') || urlSanitized.startsWith('telnet:') || urlSanitized.startsWith('mailto:') || urlSanitized.startsWith('news:') || urlSanitized.startsWith('nntp:')) { if (callback) { callback(result); } return resolve(result); } @@ -153,7 +153,7 @@ function inetLatency(host, callback) { } } hostSanitized.__proto__.startsWith = util.stringStartWith; - if (hostSanitized.startsWith('file:')) { + if (hostSanitized.startsWith('file:') || hostSanitized.startsWith('gopher:') || hostSanitized.startsWith('telnet:') || hostSanitized.startsWith('mailto:') || hostSanitized.startsWith('news:') || hostSanitized.startsWith('nntp:')) { if (callback) { callback(null); } return resolve(null); } From d09531b36f1cde53b09c8a7ba838e3df1dcfc80e Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 16 Mar 2021 12:04:23 +0100 Subject: [PATCH 13/22] 5.6.7 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dd4a553..dc6597a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.6", + "version": "5.6.7", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 8e2f9e0233008616356ebdecb877bffb341dedfb Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sat, 20 Mar 2021 12:06:03 +0100 Subject: [PATCH 14/22] docs: updated --- docs/index.html | 4 +- docs/security.html | 4 +- docs/styles.css | 171 +++++++---------------------------------- docs/styles.css.map | 10 +-- docs/styles.scss | 8 ++ docs/v4/index.html | 2 +- docs/v4/security.html | 4 +- docs/v4/styles.css | 148 +++++------------------------------ docs/v4/styles.css.map | 10 +-- docs/v4/styles.scss | 4 + 10 files changed, 71 insertions(+), 294 deletions(-) diff --git a/docs/index.html b/docs/index.html index 7c6f89f..d4773fd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -192,6 +192,8 @@ Total alerts MIT license

+
Security issues: Please have a look at our security advisories.
+
@@ -345,7 +347,7 @@
Issues
-
Security issues: Please have a look at our security advisories
+
Security issues: We highly recomment to have a look at our security advisories
Having an issue: If you run into problems, please check out known issues page first.
If you still have problems, please feel free to open an issue on our github page
diff --git a/docs/security.html b/docs/security.html index 590c081..96877e2 100644 --- a/docs/security.html +++ b/docs/security.html @@ -44,7 +44,9 @@
Security Advisories

Passing User Paramters to Systeminformation

-

Be aware to not use inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input! We are doing a lot of input sanitation for those functions in this package but we cannot handle all cases!

+

For most of the applications that are using systeminformation, there is no reason to worry. But be aware! If you are using inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input, you should pay extra attention! We are doing a lot of input sanitation for those functions inside this package but we cannot handle all cases!

+

This can lead to serious impact on your servers!

+

We highly recommend to always upgrade to the latest version of our package. We maintain security updates for version 5 AND also version 4. For version 4 you can install latest version by placing "systeminformation": "^4" in your package.json (dependencies) and run npm install

Command Injection Vulnerability

Affected versions: diff --git a/docs/styles.css b/docs/styles.css index af748b0..cf001bb 100644 --- a/docs/styles.css +++ b/docs/styles.css @@ -1,11 +1,11 @@ body { - font-family: 'Roboto', 'HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,sans-serif; + font-family: "Roboto", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 300; min-height: 100%; } h1, h2, h3, h4 { - font-family: 'Roboto', 'HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,sans-serif; + font-family: "Roboto", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 500; color: #3d5cb3; } @@ -18,6 +18,16 @@ h1, h2, h3, h4 { font-weight: 500; } +.warning { + font-weight: 500; + color: #9c0101; +} + +.larger { + margin-top: 10px; + font-size: 1.5rem !important; +} + .medium { font-weight: 500; } @@ -40,45 +50,24 @@ h1, h2, h3, h4 { height: 100vh; height: calc(var(--vh, 1vh) * 100); opacity: 0.95; - display: -webkit-box; - display: -ms-flexbox; display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; text-align: center; width: 100% !important; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; + flex-direction: column; } - .bg-image-full .top-container { text-align: center; - -ms-flex-item-align: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; + align-self: center; display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; + justify-content: center; + flex-direction: column; + align-items: center; + flex-grow: 1; overflow: hidden; position: relative; width: 100% !important; } - .bg-image-full .recommendation { position: absolute; top: 30px; @@ -88,20 +77,17 @@ h1, h2, h3, h4 { display: inline-block; width: 280px; text-align: center; - padding: .25em 0; + padding: 0.25em 0; color: white; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); + transform: rotate(45deg); background: #971d1d; font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .bg-image-full .recommendation { - font-size: 1.0rem; + font-size: 1rem; } } - @media only screen and (min-width: 767px) { .bg-image-full .recommendation { font-size: 1.1rem; @@ -110,7 +96,6 @@ h1, h2, h3, h4 { width: 330px; } } - @media only screen and (min-width: 1024px) { .bg-image-full .recommendation { width: 330px; @@ -120,11 +105,9 @@ h1, h2, h3, h4 { font-size: 1.2rem; } } - .bg-image-full .recommendation:hover { text-decoration: none; } - .bg-image-full .title { color: #fff; padding-top: 10px; @@ -132,197 +115,164 @@ h1, h2, h3, h4 { margin-bottom: 10px; font-weight: 500; } - @media only screen and (min-width: 374px) { .bg-image-full .title { font-size: 2.1rem; } } - @media only screen and (min-width: 420px) { .bg-image-full .title { font-size: 2.4rem; } } - @media only screen and (min-width: 767px) { .bg-image-full .title { font-size: 3.5rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .title { font-size: 4rem; } } - @media only screen and (min-width: 1200px) { .bg-image-full .title { font-size: 5rem; } } - @media only screen and (min-width: 1900px) { .bg-image-full .title { font-size: 6rem; } } - .bg-image-full .logo { width: 100px; } - @media only screen and (min-width: 420px) { .bg-image-full .logo { width: 120px; } } - @media only screen and (min-width: 767px) { .bg-image-full .logo { width: 160px; } } - @media only screen and (min-width: 1024px) { .bg-image-full .logo { width: 200px; } } - @media only screen and (min-width: 1900px) { .bg-image-full .logo { width: 250px; } } - .bg-image-full .subtitle { text-align: center; color: #bbb; font-size: 0.78rem; } - @media only screen and (min-width: 375px) { .bg-image-full .subtitle { font-size: 0.9rem; } } - @media only screen and (min-width: 420px) { .bg-image-full .subtitle { font-size: 1rem; } } - @media only screen and (min-width: 767px) { .bg-image-full .subtitle { font-size: 1.1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .subtitle { font-size: 1.3rem; } } - @media only screen and (min-width: 1200px) { .bg-image-full .subtitle { font-size: 1.4rem; } } - @media only screen and (min-width: 1900px) { .bg-image-full .subtitle { font-size: 1.6rem; } } - .bg-image-full .text > a { text-align: center; color: #fff; font-size: 0.9rem; } - .bg-image-full .text > a:hover { color: #aaa; text-decoration: none; } - @media only screen and (min-width: 375px) { .bg-image-full .text > a { font-size: 0.9rem; } } - @media only screen and (min-width: 420px) { .bg-image-full .text > a { font-size: 1rem; } } - @media only screen and (min-width: 767px) { .bg-image-full .text > a { font-size: 1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .text > a { font-size: 1.1rem; } } - @media only screen and (min-width: 1200px) { .bg-image-full .text > a { font-size: 1.2rem; } } - @media only screen and (min-width: 1900px) { .bg-image-full .text > a { font-size: 1.5rem; } } - .bg-image-full .version { text-align: center; margin-bottom: 10px; color: #fff; - font-size: .9rem; + font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .bg-image-full .version { - font-size: .9rem; + font-size: 0.9rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .version { font-size: 1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .version { font-size: 1.1rem; } } - @media only screen and (min-width: 1200px) { .bg-image-full .version { font-size: 1.2rem; } } - @media only screen and (min-width: 1900px) { .bg-image-full .version { font-size: 1.5rem; } } - .bg-image-full .down { text-align: center; color: #fff; @@ -331,7 +281,6 @@ h1, h2, h3, h4 { margin-bottom: 15px; cursor: pointer; } - .bg-image-full .down .caret { font-size: 3rem; } @@ -347,12 +296,10 @@ h1, h2, h3, h4 { height: 65px; position: relative; } - .nav .logo { width: 60px; margin-top: 12px; } - .nav .title { display: none; color: #fff; @@ -361,55 +308,45 @@ h1, h2, h3, h4 { margin-top: 15px; font-weight: 500; } - @media only screen and (min-width: 767px) { .nav .title { display: inline-block; } } - @media only screen and (min-width: 1024px) { .nav .title { font-size: 1.5rem; } } - .nav .text { margin-top: 18px; } - .nav .text a { color: #fff; margin-top: 12px; - font-size: 1.0rem; + font-size: 1rem; } - @media only screen and (min-width: 1023px) { .nav .text a { margin-top: 10px; font-size: 1.2rem; } } - .nav .text a:hover { color: #aaa; text-decoration: none; } - .nav .github { display: none; } - @media only screen and (min-width: 768px) { .nav .github { display: inline-block; } } - .nav .todocs { display: inline-block; } - @media only screen and (min-width: 768px) { .nav .todocs { display: none; @@ -420,51 +357,42 @@ h1, h2, h3, h4 { text-align: center; color: #333; } - .features .inner { padding: 10px 0px; } - @media only screen and (min-width: 768px) { .features .inner { padding: 15px 20px; } } - .features .inner .icons { display: block; font-size: 3rem; line-height: 1.3; color: #bbb; } - @media only screen and (min-width: 420px) { .features .inner .icons { font-size: 3.5rem; } } - @media only screen and (min-width: 768px) { .features .inner .icons { font-size: 4rem; } } - @media only screen and (min-width: 1024px) { .features .inner .icons { font-size: 5rem; } } - .features .inner .icontitle { font-size: 1.2rem; } - .features .inner:hover { background: #f4f4f4; color: #567adf; } - .features .inner:hover .icons { color: #567adf; } @@ -476,13 +404,11 @@ h1, h2, h3, h4 { font-weight: 500; color: #3d5cb3; } - @media only screen and (min-width: 420px) { .sectionheader .title { font-size: 2.3rem; } } - @media only screen and (min-width: 768px) { .sectionheader .title { text-align: left; @@ -490,27 +416,23 @@ h1, h2, h3, h4 { font-size: 2.6rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .title { padding-top: 40px; font-size: 3rem; } } - .sectionheader .title-small { text-align: center; font-size: 1.4rem; font-weight: 500; color: #3d5cb3; } - @media only screen and (min-width: 420px) { .sectionheader .title-small { font-size: 1.6rem; } } - @media only screen and (min-width: 768px) { .sectionheader .title-small { text-align: left; @@ -518,53 +440,44 @@ h1, h2, h3, h4 { font-size: 1.8rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .title-small { padding-top: 30px; font-size: 2rem; } } - .sectionheader .subtitle { text-align: center; - font-size: .9rem; + font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .sectionheader .subtitle { font-size: 1rem; } } - @media only screen and (min-width: 768px) { .sectionheader .subtitle { text-align: left; font-size: 1.1rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .subtitle { font-size: 1.3rem; } } - .sectionheader .npmicons { text-align: center; } - .sectionheader .text { text-align: center; padding-top: 10px; } - @media only screen and (min-width: 768px) { .sectionheader .text { text-align: left; } } - .sectionheader hr { margin-top: 40px; margin-bottom: 0px; @@ -574,19 +487,15 @@ h1, h2, h3, h4 { .index { margin: 0 0 10px 0; } - .index .text, .index .subtitle, .index .title, .index .title-small, .index .npmicons { text-align: center; } - .index .larger { font-size: 1.2rem; } - .index a { text-decoration: none; } - .index a:hover { text-decoration: none; color: #567adf; @@ -608,34 +517,28 @@ ul { margin-top: 40px; text-align: center; } - .number-section .numbers { font-size: 2rem; } - @media only screen and (min-width: 420px) { .number-section .numbers { font-size: 2.4rem; } } - @media only screen and (min-width: 768px) { .number-section .numbers { font-size: 2.8rem; } } - .number-section .title { color: #999; font-size: 1rem; } - @media only screen and (min-width: 420px) { .number-section .title { font-size: 1.1rem; } } - @media only screen and (min-width: 768px) { .number-section .title { font-size: 1.2rem; @@ -645,60 +548,49 @@ ul { .menu { display: none; } - @media only screen and (min-width: 768px) { .menu { margin-top: 30px; display: inline-block; } } - .menu .title { margin: 25px 0 5px 0; color: #000; } - .menu .title a { width: 100%; color: #000; text-decoration: none; } - .menu .title a:hover { color: #567adf; } - .menu .title .navtitle { font-size: 1.3rem; margin-bottom: 5px; display: inline-block; color: #3d5cb3; } - .menu hr { margin: 5px 0; } - .menu ul { list-style-type: none; margin: 0; padding: 0; } - .menu ul li { padding: 2px 0 1px 0; } - .menu ul li a { width: 100%; color: #666; text-decoration: none; } - .menu ul li a:hover { color: #567adf; } - .menu ul li.active > a { color: #567adf; font-weight: 500; @@ -734,20 +626,16 @@ pre { .example td:first-child { background-color: #fff !important; } - .example td:last-child { background-color: #f8faff !important; } - .example h5 { padding-top: 5px; padding-left: 10px; } - .example pre { background-color: unset; } - .example pre .js { background-color: #f0f0f4; } @@ -759,22 +647,17 @@ footer { padding-bottom: 30px; position: relative; } - footer .home { color: #3d5cb3; font-size: 1.1rem; } - footer a { color: #000; } - footer a:hover { text-decoration: none; } - footer .badge { color: #fff; font-size: 0.9rem; -} -/*# sourceMappingURL=styles.css.map */ \ No newline at end of file +}/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/docs/styles.css.map b/docs/styles.css.map index 0c62735..e9e1349 100644 --- a/docs/styles.css.map +++ b/docs/styles.css.map @@ -1,9 +1 @@ -{ - "version": 3, - "mappings": "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", - "sources": [ - "styles.scss" - ], - "names": [], - "file": "styles.css" -} \ No newline at end of file +{"version":3,"sources":["styles.scss"],"names":[],"mappings":"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","file":"styles.css"} \ No newline at end of file diff --git a/docs/styles.scss b/docs/styles.scss index 9d6b97e..8441407 100644 --- a/docs/styles.scss +++ b/docs/styles.scss @@ -14,6 +14,14 @@ h1, h2, h3, h4 { .bold { font-weight: 500; } +.warning { + font-weight: 500; + color: rgb(156, 1, 1); +} +.larger { + margin-top: 10px; + font-size: 1.5rem !important; +} .medium { font-weight: 500; } diff --git a/docs/v4/index.html b/docs/v4/index.html index 9bedc4b..770659a 100644 --- a/docs/v4/index.html +++ b/docs/v4/index.html @@ -320,7 +320,7 @@

Issues
-
Security issues: Please have a look at our security advisories
+
Security issues: Please have a look at our security advisories
If you run into problems, please check out known issues page first. If you still have problems, please feel free to open an issue on our github page
diff --git a/docs/v4/security.html b/docs/v4/security.html index d7e8db4..343d435 100644 --- a/docs/v4/security.html +++ b/docs/v4/security.html @@ -43,7 +43,9 @@
Security Advisories

Passing User Paramters to Systeminformation

-

Be aware to not use inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input! We are doing a lot of input sanitation for those functions in this package but we cannot handle all cases!

+

For most of the applications that are using systeminformation, there is no reason to worry. But be aware! If you are using inetLatency(), inetChecksite(), services(), processLoad() with arbitrary untrusted user input, you should pay extra attention! We are doing a lot of input sanitation for those functions inside this package but we cannot handle all cases!

+

This can lead to serious impact on your servers!

+

We highly recommend to always upgrade to the latest version of our package. We maintain security updates for version 5 AND also version 4. For version 4 you can install latest version by placing "systeminformation": "^4" in your package.json (dependencies) and run npm install

Command Injection Vulnerability

Affected versions: diff --git a/docs/v4/styles.css b/docs/v4/styles.css index 624a5b5..40c2066 100644 --- a/docs/v4/styles.css +++ b/docs/v4/styles.css @@ -17,6 +17,11 @@ h1, h2, h3, h4 { font-weight: 700; } +.warning { + font-weight: 500; + color: #9c0101; +} + .bg-image-full { background: no-repeat center center scroll; background-color: #4b2313; @@ -28,41 +33,20 @@ h1, h2, h3, h4 { height: 100vh; height: calc(var(--vh, 1vh) * 100); opacity: 0.95; - display: -webkit-box; - display: -ms-flexbox; display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; + justify-content: center; text-align: center; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; + flex-direction: column; } - .bg-image-full .container { text-align: center; - -ms-flex-item-align: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; + align-self: center; display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-flex: 1; - -ms-flex-positive: 1; - flex-grow: 1; + justify-content: center; + flex-direction: column; + align-items: center; + flex-grow: 1; } - .bg-image-full .recommendation { position: absolute; top: 40px; @@ -71,26 +55,22 @@ h1, h2, h3, h4 { display: inline-block; width: 330px; text-align: center; - padding: .25em 0; + padding: 0.25em 0; color: white; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); + transform: rotate(45deg); background: #971d1d; font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .bg-image-full .recommendation { - font-size: 1.0rem; + font-size: 1rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .recommendation { font-size: 1.1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .recommendation { top: 50px; @@ -98,148 +78,123 @@ h1, h2, h3, h4 { font-size: 1.2rem; } } - .bg-image-full .recommendation:hover { text-decoration: none; } - .bg-image-full .title { color: #fff; padding-top: 10px; font-size: 1.8rem; margin-bottom: 10px; } - @media only screen and (min-width: 420px) { .bg-image-full .title { font-size: 2.4rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .title { font-size: 3.2rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .title { font-size: 4rem; } } - .bg-image-full .logo { width: 100px; } - @media only screen and (min-width: 420px) { .bg-image-full .logo { width: 120px; } } - @media only screen and (min-width: 768px) { .bg-image-full .logo { width: 160px; } } - @media only screen and (min-width: 1024px) { .bg-image-full .logo { width: 200px; } } - .bg-image-full .subtitle { text-align: center; color: #bbb; font-size: 0.78rem; } - @media only screen and (min-width: 375px) { .bg-image-full .subtitle { font-size: 0.9rem; } } - @media only screen and (min-width: 420px) { .bg-image-full .subtitle { font-size: 1rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .subtitle { font-size: 1.1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .subtitle { font-size: 1.3rem; } } - .bg-image-full .text > a { text-align: center; color: #fff; font-size: 0.9rem; } - .bg-image-full .text > a:hover { color: #aaa; text-decoration: none; } - @media only screen and (min-width: 375px) { .bg-image-full .text > a { font-size: 0.9rem; } } - @media only screen and (min-width: 420px) { .bg-image-full .text > a { font-size: 1rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .text > a { font-size: 1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .text > a { font-size: 1.1rem; } } - .bg-image-full .version { text-align: center; margin-bottom: 10px; color: #fff; - font-size: .9rem; + font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .bg-image-full .version { - font-size: .9rem; + font-size: 0.9rem; } } - @media only screen and (min-width: 768px) { .bg-image-full .version { font-size: 1rem; } } - @media only screen and (min-width: 1024px) { .bg-image-full .version { font-size: 1.1rem; } } - .bg-image-full .down { text-align: center; color: #fff; @@ -248,7 +203,6 @@ h1, h2, h3, h4 { margin-bottom: 15px; cursor: pointer; } - .bg-image-full .down .caret { font-size: 3rem; } @@ -264,12 +218,10 @@ h1, h2, h3, h4 { height: 65px; position: relative; } - .nav .logo { width: 60px; margin-top: 12px; } - .nav .title { display: none; color: #fff; @@ -277,55 +229,45 @@ h1, h2, h3, h4 { margin-left: 15px; margin-top: 18px; } - @media only screen and (min-width: 768px) { .nav .title { display: inline-block; } } - @media only screen and (min-width: 1024px) { .nav .title { font-size: 1.2rem; } } - .nav .text { margin-top: 18px; } - .nav .text a { color: #fff; margin-top: 12px; - font-size: 1.0rem; + font-size: 1rem; } - @media only screen and (min-width: 1023px) { .nav .text a { margin-top: 10px; font-size: 1.2rem; } } - .nav .text a:hover { color: #aaa; text-decoration: none; } - .nav .github { display: none; } - @media only screen and (min-width: 768px) { .nav .github { display: inline-block; } } - .nav .todocs { display: inline-block; } - @media only screen and (min-width: 768px) { .nav .todocs { display: none; @@ -336,50 +278,41 @@ h1, h2, h3, h4 { text-align: center; color: #333; } - .features .inner { padding: 10px 0px; } - @media only screen and (min-width: 768px) { .features .inner { padding: 15px 20px; } } - .features .inner .icons { display: block; font-size: 3rem; color: #bbb; } - @media only screen and (min-width: 420px) { .features .inner .icons { font-size: 3.5rem; } } - @media only screen and (min-width: 768px) { .features .inner .icons { font-size: 4rem; } } - @media only screen and (min-width: 1024px) { .features .inner .icons { font-size: 5rem; } } - .features .inner .icontitle { font-size: 1.2rem; } - .features .inner:hover { background: #f4f4f4; color: #567adf; } - .features .inner:hover .icons { color: #567adf; } @@ -389,13 +322,11 @@ h1, h2, h3, h4 { padding-top: 20px; font-size: 2rem; } - @media only screen and (min-width: 420px) { .sectionheader .title { font-size: 2.3rem; } } - @media only screen and (min-width: 768px) { .sectionheader .title { text-align: left; @@ -403,25 +334,21 @@ h1, h2, h3, h4 { font-size: 2.6rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .title { padding-top: 30px; font-size: 3rem; } } - .sectionheader .title-small { text-align: center; font-size: 1.4rem; } - @media only screen and (min-width: 420px) { .sectionheader .title-small { font-size: 1.6rem; } } - @media only screen and (min-width: 768px) { .sectionheader .title-small { text-align: left; @@ -429,53 +356,44 @@ h1, h2, h3, h4 { font-size: 1.8rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .title-small { padding-top: 30px; font-size: 2rem; } } - .sectionheader .subtitle { text-align: center; - font-size: .9rem; + font-size: 0.9rem; } - @media only screen and (min-width: 420px) { .sectionheader .subtitle { font-size: 1rem; } } - @media only screen and (min-width: 768px) { .sectionheader .subtitle { text-align: left; font-size: 1.1rem; } } - @media only screen and (min-width: 1024px) { .sectionheader .subtitle { font-size: 1.3rem; } } - .sectionheader .npmicons { text-align: center; } - .sectionheader .text { text-align: center; padding-top: 10px; } - @media only screen and (min-width: 768px) { .sectionheader .text { text-align: left; } } - .sectionheader hr { margin-top: 40px; margin-bottom: 0px; @@ -485,15 +403,12 @@ h1, h2, h3, h4 { .index { margin: 0 0 10px 0; } - .index .text, .index .subtitle, .index .title, .index .title-small, .index .npmicons { text-align: center; } - .index a { text-decoration: none; } - .index a:hover { text-decoration: none; color: #567adf; @@ -515,34 +430,28 @@ ul { margin-top: 40px; text-align: center; } - .number-section .numbers { font-size: 2rem; } - @media only screen and (min-width: 420px) { .number-section .numbers { font-size: 2.4rem; } } - @media only screen and (min-width: 768px) { .number-section .numbers { font-size: 2.8rem; } } - .number-section .title { color: #999; font-size: 1rem; } - @media only screen and (min-width: 420px) { .number-section .title { font-size: 1.1rem; } } - @media only screen and (min-width: 768px) { .number-section .title { font-size: 1.2rem; @@ -552,53 +461,43 @@ ul { .menu { display: none; } - @media only screen and (min-width: 768px) { .menu { margin-top: 30px; display: inline-block; } } - .menu .title { margin: 25px 0 5px 0; color: #000; } - .menu .title a { width: 100%; color: #000; text-decoration: none; } - .menu .title a:hover { color: #567adf; } - .menu hr { margin: 5px 0; } - .menu ul { list-style-type: none; margin: 0; padding: 0; } - .menu ul li { padding: 2px 0; } - .menu ul li a { width: 100%; color: #666; text-decoration: none; } - .menu ul li a:hover { color: #567adf; } - .menu ul li.active > a { color: #567adf; } @@ -633,20 +532,16 @@ pre { .example td:first-child { background-color: #fff !important; } - .example td:last-child { background-color: #f8faff !important; } - .example h5 { padding-top: 5px; padding-left: 10px; } - .example pre { background-color: unset; } - .example pre .js { background-color: #f0f0f4; } @@ -658,11 +553,9 @@ footer { padding-bottom: 30px; position: relative; } - footer a { color: #000; } - footer .badge { color: #fff; font-size: 0.9rem; @@ -675,5 +568,4 @@ footer .badge { .v5 { color: #567adf; -} -/*# sourceMappingURL=styles.css.map */ \ No newline at end of file +}/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/docs/v4/styles.css.map b/docs/v4/styles.css.map index 33deed5..071e29d 100644 --- a/docs/v4/styles.css.map +++ b/docs/v4/styles.css.map @@ -1,9 +1 @@ -{ - "version": 3, - "mappings": "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", - "sources": [ - "styles.scss" - ], - "names": [], - "file": "styles.css" -} \ No newline at end of file +{"version":3,"sources":["styles.scss"],"names":[],"mappings":"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","file":"styles.css"} \ No newline at end of file diff --git a/docs/v4/styles.scss b/docs/v4/styles.scss index 143a9f5..ff3b0d9 100644 --- a/docs/v4/styles.scss +++ b/docs/v4/styles.scss @@ -13,6 +13,10 @@ h1, h2, h3, h4 { .bold { font-weight: 700; } +.warning { + font-weight: 500; + color: rgb(156, 1, 1); +} .bg-image-full { background: no-repeat center center scroll; background-color: #4b2313; /* For browsers that do not support gradients */ From 3d15d8e3546e7f4ac469de0002296dad53102ba9 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 23 Mar 2021 09:04:51 +0100 Subject: [PATCH 15/22] typescript definitions fix wifiInterfces, wifiConnections --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 4 ++-- lib/index.d.ts | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fdc899..2569ac8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.8 | 2021-03-22 | typescript definitions fix `wifiInterfces()`, `wifiConnections()` | | 5.6.7 | 2021-03-16 | `inetLatency()` `ineChecksite()` schema validation | | 5.6.6 | 2021-03-16 | code refactoring | | 5.6.5 | 2021-03-15 | `cpuTemperature()` fix (linux) | diff --git a/docs/history.html b/docs/history.html index 702e07c..626b88c 100644 --- a/docs/history.html +++ b/docs/history.html @@ -58,6 +58,11 @@ 5.6.8 + 2021-03-23 + typescript definitions fix wifiInterfces, wifiConnections + + + 5.6.7 2021-03-16 inetLatency() inetChecksite() schema avlidation diff --git a/docs/index.html b/docs/index.html index d4773fd..d35e503 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@

systeminformation
 
-
New Version: 5.6.7
+
New Version: 5.6.8
@@ -211,7 +211,7 @@
Downloads last month
-
398
+
402
Dependents
diff --git a/lib/index.d.ts b/lib/index.d.ts index 36ccb91..30b2530 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -876,6 +876,8 @@ export function inetChecksite(url: string, cb?: (data: Systeminformation.InetChe export function inetLatency(host?: string, cb?: (data: number) => any): Promise; export function wifiNetworks(cb?: (data: Systeminformation.WifiNetworkData[]) => any): Promise; +export function wifiInterfaces(cb?: (data: Systeminformation.WifiInterfaceData[]) => any): Promise; +export function wifiConnections(cb?: (data: Systeminformation.WifiConnectionData[]) => any): Promise; export function users(cb?: (data: Systeminformation.UserData[]) => any): Promise; From b36d2528306eae84dfd698f5bf17cb46584b5f25 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Tue, 23 Mar 2021 09:04:55 +0100 Subject: [PATCH 16/22] 5.6.8 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dc6597a..cf1228f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.7", + "version": "5.6.8", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From ded86216a7986ec862c4cb193445eca2ad1853a1 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 28 Mar 2021 09:23:46 +0200 Subject: [PATCH 17/22] graphics() fixed nvidia-smi compare bug --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 2 +- lib/graphics.js | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2569ac8..d45f543 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.9 | 2021-03-28 | `graphics()` fixed nvidia-smi compare bug | | 5.6.8 | 2021-03-22 | typescript definitions fix `wifiInterfces()`, `wifiConnections()` | | 5.6.7 | 2021-03-16 | `inetLatency()` `ineChecksite()` schema validation | | 5.6.6 | 2021-03-16 | code refactoring | diff --git a/docs/history.html b/docs/history.html index 626b88c..adcd554 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.9 + 2021-03-28 + graphics() fixed nvidia-smi compare bug + 5.6.8 2021-03-23 diff --git a/docs/index.html b/docs/index.html index d35e503..387d4ec 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.6.8
+
New Version: 5.6.9
diff --git a/lib/graphics.js b/lib/graphics.js index 06c3b80..42e06e2 100644 --- a/lib/graphics.js +++ b/lib/graphics.js @@ -728,7 +728,7 @@ function graphics(callback) { const nvidiaData = nvidiaDevices(); // needs to be rewritten ... using no spread operators result.controllers = result.controllers.map((controller) => { // match by busAddress - return mergeControllerNvidia(controller, nvidiaData.find(({ pciBus }) => pciBus.endsWith(controller.busAddress)) || {}); + return mergeControllerNvidia(controller, nvidiaData.find(({ pciBus }) => pciBus.toLowerCase().endsWith(controller.busAddress.toLowerCase())) || {}); }); } let cmd = 'clinfo --raw'; From 9cef0f712fdc98f3135ff439361cfba21613d580 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Sun, 28 Mar 2021 09:23:52 +0200 Subject: [PATCH 18/22] 5.6.9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cf1228f..69e0d8e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.8", + "version": "5.6.9", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 7d62cd2f95ace2fe0cb895eab395b9bc18d8039f Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 29 Mar 2021 21:35:40 +0200 Subject: [PATCH 19/22] vboxInfo() fixed windows bug --- CHANGELOG.md | 1 + docs/history.html | 5 +++++ docs/index.html | 4 ++-- lib/util.js | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d45f543..c3a4e4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ For major (breaking) changes - **version 4, 3 and 2** - see end of page. | Version | Date | Comment | | -------------- | -------------- | -------- | +| 5.6.10 | 2021-03-29 | `vboxInfo()` fixed windows bug | | 5.6.9 | 2021-03-28 | `graphics()` fixed nvidia-smi compare bug | | 5.6.8 | 2021-03-22 | typescript definitions fix `wifiInterfces()`, `wifiConnections()` | | 5.6.7 | 2021-03-16 | `inetLatency()` `ineChecksite()` schema validation | diff --git a/docs/history.html b/docs/history.html index adcd554..3832da3 100644 --- a/docs/history.html +++ b/docs/history.html @@ -56,6 +56,11 @@ + + 5.6.10 + 2021-03-29 + vboxInfo() fixed windows bug + 5.6.9 2021-03-28 diff --git a/docs/index.html b/docs/index.html index 387d4ec..7465983 100644 --- a/docs/index.html +++ b/docs/index.html @@ -170,7 +170,7 @@
systeminformation
 
-
New Version: 5.6.9
+
New Version: 5.6.10
@@ -211,7 +211,7 @@
Downloads last month
-
402
+
404
Dependents
diff --git a/lib/util.js b/lib/util.js index d7cd6bf..16f22c3 100644 --- a/lib/util.js +++ b/lib/util.js @@ -333,7 +333,7 @@ function wmic(command, options) { } function getVboxmanage() { - return _windows ? `${process.env.VBOX_INSTALL_PATH || process.env.VBOX_MSI_INSTALL_PATH}\\VBoxManage.exe` : 'vboxmanage'; + return _windows ? `"${process.env.VBOX_INSTALL_PATH || process.env.VBOX_MSI_INSTALL_PATH}\\VBoxManage.exe"` : 'vboxmanage'; } function powerShell(cmd) { From a8bafe93402604153996f188cd2009c55c630f7a Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Mon, 29 Mar 2021 21:35:46 +0200 Subject: [PATCH 20/22] 5.6.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 69e0d8e..20d3a62 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systeminformation", - "version": "5.6.9", + "version": "5.6.10", "description": "Simple system and OS information library", "license": "MIT", "author": "Sebastian Hildebrandt (https://plus-innovations.com)", From 87e7b0c9560b98f2581f226712e0e49f248e41de Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Fri, 2 Apr 2021 18:55:23 +0200 Subject: [PATCH 21/22] updated docs --- README.md | 6 +++--- docs/index.html | 2 +- docs/processes.html | 6 +++--- docs/security.html | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 8fad89e..03b938d 100644 --- a/README.md +++ b/README.md @@ -360,9 +360,9 @@ Full function reference with examples can be found at [https://systeminformation | si.fullLoad(cb) | : integer | X | | X | X | | CPU full load since bootup in % | | si.processes(cb) | {...} | X | X | X | X | X | # running processes | | | all | X | X | X | X | X | # of all processes | -| | running | X | X | X | X | X | # of all processes running | -| | blocked | X | X | X | X | X | # of all processes blocked | -| | sleeping | X | X | X | X | X | # of all processes sleeping | +| | running | X | X | X | | X | # of all processes running | +| | blocked | X | X | X | | X | # of all processes blocked | +| | sleeping | X | X | X | | X | # of all processes sleeping | | | unknown | | | | X | | # of all processes unknown status | | | list[] | X | X | X | X | X | list of all processes incl. details | | | ...[0].pid | X | X | X | X | X | process PID | diff --git a/docs/index.html b/docs/index.html index 7465983..3676089 100644 --- a/docs/index.html +++ b/docs/index.html @@ -211,7 +211,7 @@
Downloads last month
-
404
+
407
Dependents
diff --git a/docs/processes.html b/docs/processes.html index ec047c3..9ed7ef8 100644 --- a/docs/processes.html +++ b/docs/processes.html @@ -242,7 +242,7 @@ si.currentLoad().then(data => console.log(data)); X X X - X + X # of all processes running @@ -252,7 +252,7 @@ si.currentLoad().then(data => console.log(data)); X X X - X + X # of all processes blocked @@ -262,7 +262,7 @@ si.currentLoad().then(data => console.log(data)); X X X - X + X # of all processes sleeping diff --git a/docs/security.html b/docs/security.html index 96877e2..a462e72 100644 --- a/docs/security.html +++ b/docs/security.html @@ -52,7 +52,7 @@

Affected versions: < 5.6.4 and < 4.34.17
Date: 2021-03-15
- CVE indentifier - + CVE indentifier CVE-2021-21388

Impact

From 572d76e2082c1342a54d9a615213a01cece3b408 Mon Sep 17 00:00:00 2001 From: effectrenan Date: Thu, 8 Apr 2021 00:04:25 -0300 Subject: [PATCH 22/22] Fix Improper Input Validation --- lib/osinfo.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/osinfo.js b/lib/osinfo.js index c4458d8..5e06acd 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -485,6 +485,10 @@ function versions(apps, callback) { apps = '*'; } else { apps = apps || '*'; + if (typeof apps !== 'string') { + if (callback) { callback({}); } + return resolve({}); + } } const appsObj = checkVersionParam(apps); let totalFunctions = appsObj.counter;