rsync: Directory traversal in rsync daemon
Gentoo Linux Security Advisory
||GLSA 200407-10 / rsync
||July 12, 2004
||July 12, 2004: 01
All supported architectures
Under specific conditions, the rsync daemon is vulnerable to a directory
traversal allowing to write files outside a sync module.
rsync is a utility that provides fast incremental file transfers. It is
used to efficiently synchronize files between hosts and is used by emerge
to fetch Gentoo's Portage tree. rsyncd is the rsync daemon, which listens
to connections from rsync clients.
When rsyncd is used without chroot ("use chroot = false" in the rsyncd.conf
file), the paths sent by the client are not checked thoroughly enough. If
rsyncd is used with read-write permissions ("read only = false"), this
vulnerability can be used to write files anywhere with the rights of the
rsyncd daemon. With default Gentoo installations, rsyncd runs in a chroot,
without write permissions and with the rights of the "nobody" user.
On affected configurations and if the rsync daemon runs under a privileged
user, a remote client can exploit this vulnerability to completely
compromise the host.
You should never set the rsync daemon to run with "use chroot = false". If
for some reason you have to run rsyncd without a chroot, then you should
not set "read only = false".
All users should update to the latest version of the rsync package.
Code Listing 3.1: Resolution
# emerge sync
# emerge -pv ">=net-misc/rsync-2.6.0-r2"
# emerge ">=net-misc/rsync-2.6.0-r2"