Skip to content

Commit 3ff51d4

Browse files
authored
Deny eval() direct access to builtins (pythonGH-20713)
1 parent 7633371 commit 3ff51d4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Lib/collections/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,8 @@ def namedtuple(typename, field_names, *, rename=False, defaults=None, module=Non
407407
# Create all the named tuple methods to be added to the class namespace
408408

409409
s = f'lambda _cls, {arg_list}: _tuple_new(_cls, ({arg_list}))'
410-
namespace = {'_tuple_new': tuple_new, '__name__': f'namedtuple_{typename}'}
410+
namespace = {'_tuple_new': tuple_new, '__builtins__': None,
411+
'__name__': f'namedtuple_{typename}'}
411412
__new__ = eval(s, namespace)
412413
__new__.__doc__ = f'Create new instance of {typename}({arg_list})'
413414
if defaults is not None:

0 commit comments

Comments
 (0)