CherryPy: Directory traversal vulnerability — GLSA 200801-11

CherryPy is vulnerable to a directory traversal that could allow attackers to read and write arbitrary files.

Affected packages

dev-python/cherrypy on all architectures
Affected versions < 3.0.2-r1
Unaffected versions revision >= 2.2.1-r2
>= 3.0.2-r1

Background

CherryPy is a Python-based, object-oriented web development framework.

Description

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.

Impact

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.

Workaround

Disable the "FileSession" functionality by using "PostgresqlSession" or "RamSession" session management in your CherryPy application.

Resolution

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"

References

Release date
January 27, 2008

Latest revision
January 27, 2008: 01

Severity
normal

Exploitable
remote

Bugzilla entries