From: Raymond Hettinger Date: Mon, 8 Jun 2020 06:51:40 +0000 (-0700) Subject: Deny eval() direct access to builtins (GH-20713) X-Git-Tag: v3.10.0a1~689 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ff51d425ecd98b7ba5a12ca9f77eda73fbf9f53;p=thirdparty%2FPython%2Fcpython.git Deny eval() direct access to builtins (GH-20713) --- diff --git a/Lib/collections/__init__.py b/Lib/collections/__init__.py index 03393f35b11c..1e3b54ccf9cc 100644 --- a/Lib/collections/__init__.py +++ b/Lib/collections/__init__.py @@ -407,7 +407,8 @@ def namedtuple(typename, field_names, *, rename=False, defaults=None, module=Non # Create all the named tuple methods to be added to the class namespace s = f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))' - namespace = {'_tuple_new': tuple_new, '__name__': f'namedtuple_{typename}'} + namespace = {'_tuple_new': tuple_new, '__builtins__': None, + '__name__': f'namedtuple_{typename}'} __new__ = eval(s, namespace) __new__.__doc__ = f'Create new instance of {typename}({arg_list})' if defaults is not None: