Skip to content

Commit 76cab5f

Browse files
RafaelGSSpull[bot]
authored andcommitted
src,permission: handle process.chdir on pm
PR-URL: #53175 Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io> Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
1 parent 83fd53c commit 76cab5f

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/node_process_methods.cc

+2
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ static void Chdir(const FunctionCallbackInfo<Value>& args) {
8383
CHECK_EQ(args.Length(), 1);
8484
CHECK(args[0]->IsString());
8585
Utf8Value path(env->isolate(), args[0]);
86+
THROW_IF_INSUFFICIENT_PERMISSIONS(
87+
env, permission::PermissionScope::kFileSystemRead, path.ToStringView());
8688
int err = uv_chdir(*path);
8789
if (err) {
8890
// Also include the original working directory, since that will usually

test/fixtures/permission/fs-read.js

+11
Original file line numberDiff line numberDiff line change
@@ -385,4 +385,15 @@ const regularFile = __filename;
385385
permission: 'FileSystemRead',
386386
resource: path.toNamespacedPath(blockedFile),
387387
}));
388+
}
389+
390+
// process.chdir
391+
{
392+
assert.throws(() => {
393+
process.chdir(blockedFolder);
394+
}, common.expectsError({
395+
code: 'ERR_ACCESS_DENIED',
396+
permission: 'FileSystemRead',
397+
resource: blockedFolder,
398+
}));
388399
}

0 commit comments

Comments
 (0)