rsync: Execution of arbitrary code — GLSA 200804-16

A buffer overflow in rsync might lead to the remote execution of arbitrary code when extended attributes are being used.

Affected packages

net-misc/rsync on all architectures
Affected versions < 2.6.9-r6
Unaffected versions >= 2.6.9-r6

Background

rsync is a file transfer program to keep remote directories synchronized.

Description

Sebastian Krahmer of SUSE reported an integer overflow in the expand_item_list() function in the file util.c which might lead to a heap-based buffer overflow when extended attribute (xattr) support is enabled.

Impact

A remote attacker could send a file containing specially crafted extended attributes to an rsync deamon, or entice a user to sync from an rsync server containing specially crafted files, possibly leading to the execution of arbitrary code.

Please note that extended attributes are only enabled when USE="acl" is enabled, which is the default setting.

Workaround

Disable extended attributes in the rsync daemon by setting "refuse options = xattrs" in the file "/etc/rsyncd.conf" (or append "xattrs" to an existing "refuse" statement). When synchronizing to a server, do not provide the "-X" parameter to rsync. You can also disable the "acl" USE flag for rsync and recompile the package.

Resolution

All rsync users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=net-misc/rsync-2.6.9-r6"

References

Release date
April 17, 2008

Latest revision
April 17, 2008: 01

Severity
high

Exploitable
remote

Bugzilla entries