{"id":"CVE-2023-49797","summary":"Local Privilege Escalation in pyinstaller on Windows","details":"PyInstaller bundles a Python application and all its dependencies into a single package. A PyInstaller built application, elevated as a privileged process, may be tricked by an unprivileged attacker into deleting files the unprivileged user does not otherwise have access to. A user is affected if **all** the following are satisfied: 1. The user runs an application containing either `matplotlib` or `win32com`. 2. The application is ran as administrator (or at least a user with higher privileges than the attacker). 3. The user's temporary directory is not locked to that specific user (most likely due to `TMP`/`TEMP` environment variables pointing to an unprotected, arbitrary, non default location). Either: A. The attacker is able to very carefully time the replacement of a temporary file with a symlink. This switch must occur exactly between `shutil.rmtree()`'s builtin symlink check and the deletion itself B: The application was built with Python 3.7.x or earlier which has no protection against Directory Junctions links. The vulnerability has been addressed in PR #7827 which corresponds to `pyinstaller \u003e= 5.13.1`. Users are advised to upgrade. There are no known workarounds for this vulnerability.","aliases":["GHSA-9w2p-rh8c-v9g5","PYSEC-2023-292"],"modified":"2026-04-10T05:05:11.140773Z","published":"2023-12-09T00:42:46.182Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/49xxx/CVE-2023-49797.json","cwe_ids":["CWE-379","CWE-732"],"cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/python/cpython/blob/0fb18b02c8ad56299d6a2910be0bab8ad601ef24/Lib/shutil.py#L623"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/2K2XIQLEMZIKUQUOWNDYWTEWYQTKMAN7/"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/ISRWT34FAF23PUOLVZ7RVWBZMWPDR5U7/"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/49xxx/CVE-2023-49797.json"},{"type":"ADVISORY","url":"https://github.com/pyinstaller/pyinstaller/security/advisories/GHSA-9w2p-rh8c-v9g5"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-49797"},{"type":"FIX","url":"https://github.com/pyinstaller/pyinstaller/pull/7827"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/pyinstaller/pyinstaller","events":[{"introduced":"0"},{"fixed":"bc49d00b6f246d793e01bfa7a99a66e3d3fcfa73"}]}],"versions":["3.0","3.0.dev2","3.0.dev7","3.0.dev8","v4.3","v4.4","v4.5","v5.0","v5.0.1","v5.1","v5.10.0","v5.10.1","v5.11.0","v5.12.0","v5.13.0","v5.2","v5.3","v5.4","v5.4.1","v5.5","v5.6.1","v5.6.2","v5.7.0","v5.8.0","v5.9.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-49797.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"}]}