Vulnerabilidad en yt-dlp de youtube-dl (CVE-2024-22423)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-78
Neutralización incorrecta de elementos especiales usados en un comando de sistema operativo (Inyección de comando de sistema operativo)
Fecha de publicación:
09/04/2024
Última modificación:
05/01/2026
Descripción
yt-dlp es una bifurcación de youtube-dl con funciones y correcciones adicionales. El parche que solucionó CVE-2023-40581 intentó evitar RCE al usar `--exec` con `%q` reemplazando comillas dobles con dos comillas dobles. Sin embargo, este escape no es suficiente y aún permite la expansión de las variables de entorno. La compatibilidad con la expansión de la plantilla de salida en `--exec`, junto con este comportamiento vulnerable, se agregó a `yt-dlp` en la versión 2021.04.11. La versión 2024.04.09 de yt-dlp soluciona este problema al escapar correctamente de `%`. Los reemplaza con `%%cd:~,%`, una variable que se expande a nada, dejando solo el porcentaje principal. Se recomienda actualizar yt-dlp a la versión 2024.04.09 lo antes posible. Además, siempre tenga cuidado al usar `--exec`, porque si bien esta vulnerabilidad específica ha sido parcheada, usar entradas no validadas en los comandos del shell es intrínsecamente peligroso. Para los usuarios de Windows que no pueden actualizar, evite usar cualquier expansión de plantilla de salida en `--exec` que no sea `{}` (ruta de archivo); si se necesita expansión en `--exec`, verifique que los campos que está usando no contengan `"`, `|` o `&`; y/o en lugar de usar `--exec`, escriba la información json y cargue los campos de él en su lugar.
Impacto
Puntuación base 3.x
8.30
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:yt-dlp_project:yt-dlp:*:*:*:*:*:*:*:* | 2021.04.11 (incluyendo) | 2024.04.09 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/yt-dlp/yt-dlp/commit/de015e930747165dbb8fcd360f8775fd973b7d6e
- https://github.com/yt-dlp/yt-dlp/commit/ff07792676f404ffff6ee61b5638c9dc1a33a37a
- https://github.com/yt-dlp/yt-dlp/releases/tag/2021.04.11
- https://github.com/yt-dlp/yt-dlp/releases/tag/2024.04.09
- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-42h4-v29r-42qg
- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-hjq6-52gw-2g7p
- https://www.kb.cert.org/vuls/id/123335
- https://github.com/yt-dlp/yt-dlp/commit/de015e930747165dbb8fcd360f8775fd973b7d6e
- https://github.com/yt-dlp/yt-dlp/commit/ff07792676f404ffff6ee61b5638c9dc1a33a37a
- https://github.com/yt-dlp/yt-dlp/releases/tag/2021.04.11
- https://github.com/yt-dlp/yt-dlp/releases/tag/2024.04.09
- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-42h4-v29r-42qg
- https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-hjq6-52gw-2g7p
- https://www.kb.cert.org/vuls/id/123335



