CVE-2024-22423 in yt-dlp정보

요약

\~에 의해 VulDB • 2026. 07. 11.

yt-dlp는 추가 기능과 수정 사항이 포함된 youtube-dl의 포크입니다. yt-dlp를 사용하면 사용자는 `--exec` 플래그를 통해 다운로드 단계의 다양한 시점에서 실행될 셸 명령줄을 제공할 수 있습니다. 이 플래그는 인수에서 출력 템플릿 확장을 허용하므로 메타데이터 값을 셸 명령에 사용할 수 있습니다. 메타데이터 필드는 `%q` 변환과 결합할 수 있으며, 이는 이러한 값을 인용/이스케이프하여 안전하게 셸로 전달하기 위한 것입니다. 그러나 Windows에서 Python의 `subprocess`가 사용하는 셸인 `cmd`에 사용되는 이스케이핑은 특수 문자를 적절하게 이스케이프하지 못하므로, 악의로 조작된 원격 데이터를 직접 `--exec`와 함께 사용할 경우 원격 코드 실행(RCE)이 가능할 수 있습니다. 이 취약점은 Windows 환경의 yt-dlp에만 영향을 미치며, yt-dlp가 `cmd` 또는 PowerShell에서 실행되는지와는 무관하게 존재합니다. `--exec`에서의 출력 템플릿 확장과 함께 이러한 취약한 동작은 버전 2021.04.11부터 yt-dlp에 추가되었습니다. yt-dlp 버전 2023.09.24에서는 각 특수 문자를 적절히 이스케이프하여 이 문제를 해결했습니다. `\n`은 이를 이스케이프할 방법이 발견되지 않았으므로 `\r`로 대체됩니다. 가능한 한 빨리 yt-dlp를 버전 2023.09.24로 업그레이드하는 것이 권장됩니다. 또한 `--exec` 사용 시 항상 주의하십시오. 특정 취약점이 패치되었더라도 셸 명령에서 검증되지 않은 입력을 사용하는 것은 본질적으로 위험하기 때문입니다. 업그레이드가 불가능한 Windows 사용자의 경우: 1. `{}`(파일 경로) 외의 다른 출력 템플릿 확장을 `--exec`에서 사용하지 마십시오. 2. `--exec`에서 확장이 필요한 경우, 사용되는 필드에 `"`, `|`, 또는 `&`가 포함되어 있지 않은지 확인하십시오. 3. `--exec`를 사용하는 대신 정보 JSON을 작성하고 해당 파일로부터 필드를 로드하는 방식을 사용하십시오.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

GitHub, Inc.

예약하다

2023. 08. 16.

모더레이션

수락

항목

VDB-240326

EPSS

0.01292

활동

낮음

출처

Might our Artificial Intelligence support you?

Check our Alexa App!