GitHub Advisoryadvisory · PyPI

GHSA-29gw-9793-fvw7 IPython vulnerable to command injection via set_term_title

LOW Published 2023-02-10 Modified 2024-09-24 Official page ↗
Aliases
CVE-2023-24816
Ecosystem
PyPI
Packages
ipython
Severity
Low
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
Weaknesses
CWE-20, CWE-78
Reviewed
2023-02-10

Affected packages

• PyPI ipython: < 8.10.0 → fixed in 8.10.0

Description

IPython provides an interactive Python shell and Jupyter kernel to use Python interactively. Versions prior to 8.10.0 are vulnerable to command injection in the `set_term_title` function under specific conditions. This has been patched in version 8.10.0. Impact Users are only vulnerable when calling this function in Windows in a Python environment where ctypes is not available. The dependency on ctypes in `IPython.utils._process_win32` prevents the vulnerable code from ever being reached (making it effectively dead code). However, as a library that could be used by another tool, `set_term_title` could introduce a vulnerability for dependencies. Currently `set_term_title` is only called with (semi-)trusted input that contain the current working directory of the current IPython session. If an attacker can control directory names, and manage to get a user to `cd` into this directory, then the attacker can execute arbitrary commands contained in the folder names.

Related

Alias · CVE (1)

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

Weakness · CWE (2)

  • CWE-20 Improper Input Validation weakness
  • CWE-78 Improper Neutralization of Special Elements used in an OS Command weakness

References