Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2021-26700 — Prueba de concepto para CVE-2021-26700: ejecución remota de código en la extensión npm-script de VSCode mediante un settings.json malicioso del espacio de trabajo, con guía detallada de explotación y remediación. | Kitploit
Herramientas/GitHubGitHub/jackadamson/cve-2021-26700
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebSeguridad de Cadena de SuministroAprendizaje y Educación
GitHubjackadamson/cve-2021-26700

CVE-2021-26700

Prueba de concepto para CVE-2021-26700: ejecución remota de código en la extensión npm-script de VSCode mediante un settings.json malicioso del espacio de trabajo, con guía detallada de explotación y remediación.

Ver Repositorio
2016hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

RCE en la extensión NPM de VSCode

Corregido el 10 de febrero de 2021 en https://github.com/microsoft/vscode-npm-scripts/commit/cdd5e507564e0cc0f60bcccf184822be3fd73e07

https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-26700

Resumen

La vulnerabilidad de ejecución remota de código en la extensión de VSCode eg2.vscode-npm-script (probada en la versión 0.3.13) significa que un .vscode/settings.json malicioso en un proyecto puede provocar la ejecución remota de código cuando se visualiza un archivo llamado package.json.

Esta vulnerabilidad no estaba cubierta por ningún programa activo de recompensas por errores de Microsoft, pero fue reportada y gestionada por MSRC.

Descripción

Sin un archivo .vscode/settings.json malicioso en un repositorio, al visualizar un archivo package.json, con la extensión instalada, se ejecutará el comando .

eg2.vscode-npm-script
npm ls --depth 0 --json

Al establecer la clave npm.bin en el settings.json de un proyecto, p. ej. como ./payload.sh, al visualizar el package.json se ejecutará en su lugar ./payload.sh ls --depth 0 --json desde el directorio que contiene el package.json.

Esta vulnerabilidad rompe la suposición de que el código fuente se puede leer de forma segura.

Ejemplo de ataque

Un ejemplo de cómo un atacante podría usar esto es:

  1. El atacante publica un repositorio como el linux-poc adjunto
  2. La víctima clona el repositorio para leer el código fuente en VSCode
  3. La víctima visualiza package.json
  4. Se ejecuta payload.sh

Opciones de remediación

He visto dos formas de mitigar un settings.json malicioso del espacio de trabajo de VSCode

Mitigación 1 - Configuración solo de usuario

Prohibir que la configuración se establezca por espacio de trabajo. Esto ya lo usa VSCode para git.path, terminal.integrated.shell.linux y algunas otras configuraciones.

Esto podría romper la compatibilidad para algunos usuarios, pero tiene precedentes.
Referencia: https://vscode.readthedocs.io/en/latest/getstarted/settings/#settings-and-security

Mitigación 2 - Solicitar confirmación

Si esta configuración se establece en un espacio de trabajo, se le debe pedir al usuario que confirme la configuración antes de ejecutar el binario.
Esto no romperá la compatibilidad existente, y es el camino que tomó la extensión ESLint a partir de la versión 2.1.7.

Prueba de concepto

Linux

  1. Instale la versión vulnerable (0.3.13 o anterior) de la extensión de VSCode eg2.vscode-npm-script
  2. Abra el directorio linux-poc como una carpeta en VSCode
  3. En VSCode, haga clic en el archivo package.json para verlo
  4. El archivo /tmp/output.txt se creará para demostrar la ejecución

Windows

  1. Instale la versión vulnerable (0.3.13 o anterior) de la extensión de VSCode eg2.vscode-npm-script
  2. Abra el directorio windows-poc como una carpeta en VSCode
  3. En VSCode, haga clic en el archivo package.json para verlo
  4. Se abrirá calc.exe

Nota: No pude usar una ruta relativa para el binario en Windows, sin embargo, esto puede deberse a mi falta de familiaridad con Windows

Descargar herramienta