Skip to content

Commit 358fd59

Browse files
authored
Merge pull request #20 from flypapertech/fixCommandInjection
Fixes arbitrary command injection by using execFile instead of exec
2 parents dd07962 + 214ad00 commit 358fd59

File tree

6 files changed

+11
-24
lines changed

6 files changed

+11
-24
lines changed

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
language: node_js
2+
os:
3+
- linux
4+
- osx
25
node_js:
36
- stable
47
- "0.12"

lib/linux.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
var exec = require('child_process').exec;
1+
var execFile = require('child_process').execFile;
22

33
module.exports = function (iface, callback) {
4-
exec("cat /sys/class/net/" + iface + "/address", function (err, out) {
4+
execFile("cat", ["/sys/class/net/" + iface + "/address"], function (err, out) {
55
if (err) {
66
callback(err, null);
77
return;
88
}
99
callback(null, out.trim().toLowerCase());
1010
});
11-
};
11+
};

lib/macosx.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

lib/unix.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
var exec = require('child_process').exec;
1+
var execFile = require('child_process').execFile;
22

33
module.exports = function (iface, callback) {
4-
exec("ifconfig " + iface, function (err, out) {
4+
execFile("ifconfig", [iface], function (err, out) {
55
if (err) {
66
callback(err, null);
77
return;

lib/windows.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var exec = require('child_process').exec;
1+
var execFile = require('child_process').execFile;
22

33
var regexRegex = /[-\/\\^$*+?.()|[\]{}]/g;
44

@@ -7,7 +7,7 @@ function escape(string) {
77
}
88

99
module.exports = function (iface, callback) {
10-
exec("ipconfig /all", function (err, out) {
10+
execFile("ipconfig", ["/all"], function (err, out) {
1111
if (err) {
1212
callback(err, null);
1313
return;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "macaddress",
3-
"version": "0.2.9",
3+
"version": "0.2.10",
44
"description": "Get the MAC addresses (hardware addresses) of the hosts network interfaces.",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)