Overview
The present document provides an in-depth analysis of the vulnerability identified as CVE-2025-54072, a serious flaw in the yt-dlp, a command-line audio/video downloader, that could potentially allow remote code execution. This issue affects users of yt-dlp versions 2025.06.25 and below running on Windows, posing a significant risk for system compromise and data leakage.
Vulnerability Summary
CVE ID: CVE-2025-54072
Severity: High (7.5 CVSS Score)
Attack Vector: Network
Privileges Required: None
User Interaction: Required
Impact: System compromise and potential data leakage
Affected Products
Escape the Surveillance Era
Most apps won’t tell you the truth.
They’re part of the problem.
Phone numbers. Emails. Profiles. Logs.
It’s all fuel for surveillance.
Ameeba Chat gives you a way out.
- • No phone number
- • No email
- • No personal info
- • Anonymous aliases
- • End-to-end encrypted
Chat without a trace.
Product | Affected Versions
yt-dlp | 2025.06.25 and below
How the Exploit Works
The vulnerability resides in the –exec option of yt-dlp, which, when used on Windows with the default placeholder (or {}), applies inadequate sanitization to the expanded file path. This insufficiency allows an attacker to execute arbitrary code remotely. This flaw effectively bypasses the mitigation for CVE-2024-22423 where the default placeholder and {} were not covered by the new escaping rules.
Conceptual Example Code
Here’s a
conceptual
example of how the vulnerability might be exploited using a shell command:
yt-dlp --exec "malicious_command" "http://vulnerable.video.url"
In this example, “malicious_command” represents the attacker’s arbitrary command that would be executed due to the vulnerability. The “http://vulnerable.video.url” is the target video URL to be downloaded.
Mitigation Guidance
It is recommended to apply the vendor patch by upgrading to yt-dlp version 2025.07.21 where this vulnerability is fixed. For users who are unable to upgrade, they should avoid using the –exec option. Alternative options like –write-info-json or –dump-json could be used, with an external script or command line consuming the JSON output. As a temporary mitigation, a Web Application Firewall (WAF) or Intrusion Detection System (IDS) can be used.

