Page MenuHomePhabricator

Thumbor errors when %0A is in the filename part of the request
Closed, ResolvedPublic

Description

http://upload.wikimedia.org/wikipedia/commons/thumb/7/74/1860%0A-russian-america.jpg/250px-1860-russian-america.jpg

2016-11-23 13:13:17,217 8841 tornado.application:ERROR Future exception was never retrieved: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/tornado/gen.py", line 230, in wrapper
    yielded = next(result)
  File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/handler/images/images.py", line 211, in check_image
    translated_kw = self.translate(kw)
  File "/usr/lib/python2.7/dist-packages/wikimedia_thumbor/handler/images/images.py", line 168, in translate
    u'File:' + kw['filename'] + u'.' + kw['extension']
  File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 331, in set_header
    self._headers[name] = self._convert_header_value(value)
  File "/usr/lib/python2.7/dist-packages/tornado/web.py", line 369, in _convert_header_value
    raise ValueError("Unsafe header value %r", value)
ValueError: ('Unsafe header value %r', 'File:1860\n-russian-america.jpg')

The character isn't legit (that's not a real original's name), but the code setting the header for debugging purposes shouldn't error like that, causing the request to never return. Which in turns results in a 504.

Event Timeline

Gilles renamed this task from Thumbor can error on some characters in the filename part of the request to Thumbor errors when %0A is in the filename part of the request.Nov 23 2016, 1:21 PM

Change 324919 had a related patch set uploaded (by Gilles):
Upgrade to 0.1.30

https://gerrit.wikimedia.org/r/324919

Change 324919 merged by Filippo Giunchedi:
Upgrade to 0.1.30

https://gerrit.wikimedia.org/r/324919