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-2022-21668-Pipenv-RCE-vulnerability | Kitploit
Herramientas/GitHubGitHub/sreeram281997/cve-2022-21668-pipenv-rce-vulnerability
Análisis de VulnerabilidadesExplotaciónSeguridad WebSeguridad de Cadena de SuministroPapers e InvestigaciónAprendizaje y Educación
GitHubsreeram281997/cve-2022-21668-pipenv-rce-vulnerability

CVE-2022-21668-Pipenv-RCE-vulnerability

Ver Repositorio

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
11hace 4 añosAún no revisado

CVE-2022-21668-Pipenv-RCE-vulnerability

1. Introducción

En este documento se analiza en detalle la vulnerabilidad de Pipenv (CVE-2022-21668). Las siguientes secciones cubren el código con el bug en el archivo pipenv/utils.py, que abre la puerta a varios ataques RCE, y también la reciente corrección que valida la conexión SSL/TLS y verifica el nombre de host contra una lista de hosts de confianza.

1.1. Elemento de lista

Pipenv Pipenv es una herramienta que crea y gestiona automáticamente un virtualenv para tus proyectos, además de añadir/eliminar paquetes de tu Pipfile a medida que instalas/desinstalas paquetes.

Para más información haz clic aquí

1.2 requirements.txt

Necesitamos un archivo requirements.txt siempre que trabajemos con sistemas complejos. Este archivo de texto también resulta útil cuando queremos portar la aplicación a otro entorno. Este archivo contiene todos los paquetes/dependencias necesarios para ejecutar una aplicación correctamente, junto con sus números de versión.

Ejemplo de archivo requirements.txt:

ejemplo de requirements

Fuente de la imagen: https://www.idkrtm.com/what-is-the-python-requirements-txt/

Si no tenemos un archivo requirements.txt, puede que no sea posible portar nuestra aplicación a otro sistema con éxito, ya que podría haber un problema de compatibilidad entre las versiones de los paquetes.

2. CVE-2022-21668

Desde la versión 2018.10.9 de Pipenv y antes de la versión 2022.1.8, una falla en el análisis de archivos de requisitos de pipenv permite a un atacante insertar una cadena especialmente diseñada dentro de un comentario en cualquier parte de un archivo requirements.txt, lo que hará que las víctimas que usan pipenv para instalar el archivo de requisitos descarguen dependencias desde un servidor de índice de paquetes controlado por el atacante. El ataque RCE es altamente factible contra estos sistemas altamente vulnerables.

cvedetails califica esta vulnerabilidad como crítica / severa.

Puntuación CVSS de cvedetials: Puntuación CVSS (Fuente: https://www.cvedetails.com/cve/CVE-2022-21668/)

3. Bug en el código

Bug de CVE-2022-21668 Esta función se llama de forma iterativa en cada línea de un archivo de requisitos y utiliza el módulo argparse para encontrar y procesar las opciones --index-url, --extra-index-url y --trusted-host Sin embargo, no ignora estas opciones cuando aparecen en comentarios. El problema del código es que analizará las cadenas que comienzan con "--index-url, --extra-index-url y --trusted-host" en cualquier parte del archivo. Esta funcionalidad lo hace más vulnerable. Para más información haz clic aquí

4. Explotación de RCE

Los ataques de ejecución remota de código (RCE) permiten a un atacante ejecutar código malicioso de forma remota en una computadora. El impacto de una vulnerabilidad RCE puede ir desde la ejecución de malware hasta que un atacante obtenga el control total de una máquina comprometida.

Si un atacante logra ocultar una opción maliciosa --index-url en un archivo de requisitos que una víctima instala con pipenv, el atacante puede incrustar código malicioso arbitrario en los paquetes servidos desde su servidor de índice malicioso, que se ejecutará en el host de la víctima durante la instalación (ejecución remota de código/RCE). La explotación mediante esta técnica sería relativamente sencilla para un atacante con conocimientos básicos de Python, ya que el atacante puede simplemente crear una distribución de código fuente para cualquiera de los paquetes especificados en el archivo de requisitos e incrustar código malicioso arbitrario en el archivo setup.py. Cuando pip instala desde una distribución de código fuente, cualquier código en setup.py es ejecutado por el proceso de instalación.

Para más detalles haz clic aquí

5. Solución

Las versiones 2022.1.8 y superiores tienen este problema corregido. Se ha añadido una nueva función “get_host_and_port(url)” en el archivo pipenv/utils.py. Esta función recupera el host y el puerto de la url enviada en el archivo requirements.txt. La dirección del host recuperada se analiza mediante urllib3, que internamente valida la conexión SSL/TLS. La dirección del host también se verifica contra una lista de direcciones de hosts de confianza. Corrección para CVE-2022-21668 Más información aquí

6. Impacto

Los ataques básicos podrían usar el RCE inicial que se desencadena cuando una víctima instala el paquete malicioso del atacante para robar credenciales del host de la víctima, aprovechar los recursos del host para minar criptomonedas, o instalar kits de explotación u otro malware. Los atacantes más sofisticados pueden usar técnicas más avanzadas para mantener el acceso al host de la víctima, ocultar o eliminar evidencia de su ataque borrando referencias al servidor de índice malicioso en el Pipfile y Pipfile.lock generados por pipenv u otros posibles indicadores de compromiso. Los atacantes altamente sofisticados podrían intentar pivotar hacia objetivos adicionales desde el host inicialmente comprometido, y podrían aprovechar cualquier credencial expuesta en el entorno del host comprometido o la autorización implícita otorgada al host para obtener acceso privilegiado a otros sistemas o recursos, como repositorios de código fuente o registros de paquetes. (Fuente: https://github.com/pypa/pipenv/security/advisories/GHSA-qc9x-gjcv-465w)

7. Resumen

  • Un error de análisis que no considera correctamente el análisis de los comentarios, ha creado una vulnerabilidad crítica.

  • Elemento de lista Con una vulnerabilidad así en mano, incluso configurar el servidor de índice malicioso para servir versiones comprometidas de paquetes es relativamente simple, incluso para un atacante no sofisticado.

Recursos adicionales

  • FEDORA FEDORA-2022-508e460384
  • FEDORA FEDORA-2022-77ce20f03a
  • Fusionar pull request de GHSA-qc9x-gjcv-465w
  • Lanzamiento corregido
  • El análisis de requirements.txt de Pipenv permite URL de índice maliciosas en comentarios
Descargar herramienta