mirror of
https://github.com/python/cpython.git
synced 2025-10-30 21:21:22 +00:00
bpo-34155: Dont parse domains containing @ (GH-13079)
Before:
>>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
(Address(display_name='', username='a', domain='malicious.org'),)
>>> parseaddr('a@malicious.org@important.com')
('', 'a@malicious.org')
After:
>>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
(Address(display_name='', username='', domain=''),)
>>> parseaddr('a@malicious.org@important.com')
('', 'a@')
https://bugs.python.org/issue34155
This commit is contained in:
parent
719a062bcb
commit
8cb65d1381
5 changed files with 37 additions and 1 deletions
|
|
@ -1587,6 +1587,8 @@ def get_domain(value):
|
|||
token, value = get_dot_atom(value)
|
||||
except errors.HeaderParseError:
|
||||
token, value = get_atom(value)
|
||||
if value and value[0] == '@':
|
||||
raise errors.HeaderParseError('Invalid Domain')
|
||||
if leader is not None:
|
||||
token[:0] = [leader]
|
||||
domain.append(token)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue