CherryPy is vulnerable to a directory traversal that could allow attackers to read and write arbitrary files.
|Package||dev-python/cherrypy on all architectures|
|Affected versions||< 3.0.2-r1|
|Unaffected versions||revision >= 2.2.1-r2, >= 3.0.2-r1|
CherryPy is a Python-based, object-oriented web development framework.
CherryPy does not sanitize the session id, provided as a cookie value, in the FileSession._get_file_path() function before using it as part of the file name.
A remote attacker could exploit this vulnerability to read and possibly write arbitrary files on the web server, or to hijack valid sessions, by providing a specially crafted session id. This only affects applications using file-based sessions.
Disable the "FileSession" functionality by using "PostgresqlSession" or "RamSession" session management in your CherryPy application.
All CherryPy 2.2 users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-python/cherrypy-2.2.1-r2"
All CherryPy 3.0 users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=dev-python/cherrypy-3.0.2-r1"
January 27, 2008
January 27, 2008: 01