mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-26 23:42:51 +08:00
Merge pull request #8 from anupamme/fix-repo-op-packages-v-002-luci-app-dockerman-root-usr-share-rpcd-ucode-docker-rpc-uc
fix: sanitize shell/subprocess call in docker_rpc.uc
This commit is contained in:
commit
8fafe178bd
1 file changed
+9
@@ -316,6 +316,15 @@ function run_ttyd(request) {
|
||||
return { error: 'Container ID is required' };
|
||||
}
|
||||
|
||||
// Strictly validate all user-supplied values before they are interpolated
|
||||
// into a shell command string to prevent command injection.
|
||||
if (!match(id, /^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/) ||
|
||||
!match(`${port}`, /^[0-9]{1,5}$/) || int(port) < 1 || int(port) > 65535 ||
|
||||
(uid && !match(`${uid}`, /^[a-zA-Z0-9_-]+$/)) ||
|
||||
!match(cmd, /^[a-zA-Z0-9_\/.\- ]+$/)) {
|
||||
return { error: 'Invalid parameter supplied' };
|
||||
}
|
||||
|
||||
let ttyd_cmd = `ttyd -q -d 2 --once --writable -p ${port} docker`;
|
||||
const sock_addr = ds.get_socket_dest();
|
||||
|
||||
|
||||
Reference in new issue
Block a user