| 标题 | Node.js oclif 4.23.16 OS Command Injection |
|---|
| 描述 | oclif manifest reads oclif.jitPlugins from a target project's package.json. When JIT plugins are enabled, each plugin name and version is interpolated into an npm pack shell command:
npm pack ${plugin}@${version} --pack-destination "${tarballStoragePath}" --json
That command string is then executed with child_process.exec().
Because the jitPlugins key and value are not shell-escaped or validated before interpolation, shell metacharacters in a plugin name can execute arbitrary commands when oclif manifest is run against a crafted project.
This is reachable through the public CLI:
oclif manifest /path/to/project |
|---|
| 来源 | ⚠️ https://github.com/oclif/oclif/issues/2051 |
|---|
| 用户 | wjm2 (UID 99050) |
|---|
| 提交 | 2026-06-16 17時19分 (1 月前) |
|---|
| 管理 | 2026-07-22 17時53分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 382372 [oclif 直到 4.23.16 JIT Plugin Entry child_process.exec jitPlugins 权限提升] |
|---|
| 积分 | 20 |
|---|