Any optional non-boolean CLI arguments (e.g. --delim
, --buf-size
, --manpath
) are passed through python's eval
, allowing arbitrary code execution. Example:
python -m tqdm --manpath="\" + str(exec(\"import os\nos.system('echo hi && killall python3')\")) + \""
https://github.com/tqdm/tqdm/commit/4e613f84ed2ae029559f539464df83fa91feb316 released in tqdm>=4.66.3
None
{ "nvd_published_at": "2024-05-03T10:15:08Z", "cwe_ids": [ "CWE-74" ], "severity": "LOW", "github_reviewed": true, "github_reviewed_at": "2024-05-03T19:33:28Z" }