id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 11061 Malformed POST request cause TypeError in AdminSite.login() Vladimir Dmitriev nobody "I found that any visitor can cause a !TypeError on Django site with enabled contrib.admin application. This can be done by sending malformed authentication POST request without username parameter but with LOGIN_FORM_KEY. This will cause following exception in !AdminSite.login() function: {{{ Traceback (most recent call last): File ""/usr/local/lib/python2.5/site-packages/django/core/handlers/base.py"", line 86, in get_response response = callback(request, *callback_args, **callback_kwargs) File ""/usr/local/lib/python2.5/site-packages/django/contrib/admin/sites.py"", line 141, in root return self.login(request) File ""/usr/local/lib/python2.5/site-packages/django/views/decorators/cache.py"", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File ""/usr/local/lib/python2.5/site-packages/django/contrib/admin/sites.py"", line 244, in login if u'@' in username: TypeError: argument of type 'NoneType' is not iterable }}} Although there is no security threat with this error, it makes Django incompatible with !McAfee SECURE service. !McAfee performs a sort of stress testing by generating a lot of random requests with different URLs and form parameters which cause ~20 Django error messages to appear in mailbox each day. I've created tiny patch with fix and test. Affected versions: both trunk and 1.0.2" closed contrib.admin dev fixed admin login vldmit@… Ready for checkin 1 0 0 0 0 0