Karthikeyan Singaravelan <tir.kar...@gmail.com> added the comment:

Okay, the url variable against which the regex check is made is not the full 
url but the path. The HTTPConnection class sets self.host [0] in the 
constructor which is used to send the Host header. Perhaps the regex check 
could be done for the host too given the path check is already done in the 
previous commit. With that the reported host also throws a 
http.client.InvalidURL exception.

> A second problem comes into the game. Some C libraries like glibc strip the 
> end of the hostname (strip at the first newline character) and so HTTP Header 
> injection is still possible is this case: 
> https://bugzilla.redhat.com/show_bug.cgi?id=1673465

The bug link raises permission error. Does fixing the host part fix this issue 
too since there won't be any socket connection made? Is it possible to have a 
Python reproducer of this issue?

[0] 
https://github.com/python/cpython/blob/7f41c8e0dd237d1f3f0a1d2ba2f3ee4e4bd400a7/Lib/http/client.py#L829

----------

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

Reply via email to