2020-12-23 14:59:06 +01:00

90 lines
1.6 KiB
Plaintext

include::../description.adoc[]
include::../ask-yourself.adoc[]
include::../recommended.adoc[]
== Sensitive Code Example
Node.js https://nodejs.org/api/fs.html[``fs``]
----
const fs = require('fs');
fs.chmodSync("/tmp/fs", 0o777); // Sensitive
----
----
const fs = require('fs');
const fsPromises = fs.promises;
fsPromises.chmod("/tmp/fsPromises", 0o777); // Sensitive
----
----
const fs = require('fs');
const fsPromises = fs.promises
async function fileHandler() {
let filehandle;
try {
filehandle = fsPromises.open('/tmp/fsPromises', 'r');
filehandle.chmod(0o777); // Sensitive
} finally {
if (filehandle !== undefined)
filehandle.close();
}
}
----
Node.js https://nodejs.org/api/process.html#process_process_umask_mask[``process.umask``]
----
const process = require('process');
process.umask(0o000); // Sensitive
----
== Compliant Solution
Node.js https://nodejs.org/api/fs.html[``fs``]
----
const fs = require('fs');
fs.chmodSync("/tmp/fs", 0o770); // Compliant
----
----
const fs = require('fs');
const fsPromises = fs.promises;
fsPromises.chmod("/tmp/fsPromises", 0o770); // Compliant
----
----
const fs = require('fs');
const fsPromises = fs.promises
async function fileHandler() {
let filehandle;
try {
filehandle = fsPromises.open('/tmp/fsPromises', 'r');
filehandle.chmod(0o770); // Compliant
} finally {
if (filehandle !== undefined)
filehandle.close();
}
}
----
Node.js https://nodejs.org/api/process.html#process_process_umask_mask[``process.umask``]
----
const process = require('process');
process.umask(0o007); // Compliant
----
include::../see.adoc[]