| Titre | Node.js oclif 4.23.16 OS Command Injection |
|---|
| Description | 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 |
|---|
| La source | ⚠️ https://github.com/oclif/oclif/issues/2051 |
|---|
| Utilisateur | wjm2 (UID 99050) |
|---|
| Soumission | 16/06/2026 17:19 (il y a 1 mois) |
|---|
| Modérer | 22/07/2026 17:53 (1 month later) |
|---|
| Statut | Accepté |
|---|
| Entrée VulDB | 382372 [oclif jusqu’à 4.23.16 JIT Plugin Entry child_process.exec jitPlugins élévation de privilèges] |
|---|
| Points | 20 |
|---|