##// END OF EJS Templates
Fix CVE-2023-24816 by removing legacy code....
Fix CVE-2023-24816 by removing legacy code. Remove legacy code that might trigger a CVE. 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 cd into this directory the attacker can execute arbitrary commands contained in the folder names. Example: - On a windows machine where python is built without _ctypes, create a folder called && echo "pwn" > pwn.txt. This can be done by for example cloning a git repository. - call toggled_set_term_title(True), (or have the preference to true) - Open IPython and cd into this directory. - the folder now contain a pwn.txt, with pwn as content, despite the user not asking for any code execution. Workaround: Set the configuration option c.TerminalInteractiveShell.term_title_format='IPython' (or to any other fixed, safe string).

File last commit:

r26933:1720e062
r28089:991849c2
Show More
test_exampleip.txt
30 lines | 814 B | text/plain | TextLexer
=================================
Tests in example form - IPython
=================================
You can write text files with examples that use IPython prompts (as long as you
use the nose ipython doctest plugin), but you can not mix and match prompt
styles in a single file. That is, you either use all ``>>>`` prompts or all
IPython-style prompts. Your test suite *can* have both types, you just need to
put each type of example in a separate. Using IPython prompts, you can paste
directly from your session::
In [5]: s="Hello World"
In [6]: s.upper()
Out[6]: 'HELLO WORLD'
Another example::
In [8]: 1+3
Out[8]: 4
Just like in IPython docstrings, you can use all IPython syntax and features::
In [9]: !echo hello
hello
In [10]: a='hi'
In [11]: !echo $a
hi