R. David Murray added the comment:

I view this as similar to the corresponding issue with email headers, where we 
fixed a similar security issue.  The special danger of \n is that it allows you 
to create a *new* header, or in this case section, with an arbitrary value, 
possibly overriding an existing section and thus changing the behavior of the 
program in an exploitable way.  This is *far* easier to exploit than the 
ability to introduce arbitrary data into the section name itself.  Good 
security involves concentric rings of defense, and one should almost always be 
more secure by default when it has a small usability impact.  In this case, 
there is no legitimate use for \n in a section name, so the only usability 
impact would be if some weird program out there was actually making use of this 
for some reason, against all reasonable logic :).  Which is why we are 
suggesting changing it only in 3.6.

\x00 is problematic (though somewhat less so) for the same reason, as many file 
readers will treat it as equivalent to end of line and allow a similar exploit. 
 \r, \f, and \x1c-\x1e should also be blocked, but otherwise we should probably 
ignore non-printables for backward compatibility reasons (there we move further 
into the usability impact area).

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25723>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to