The rsync port, versions prior to rsync-2.5.1_1, is not careful enough
about reading integers from the network. In several places, signed and
unsigned numbers are mixed, resulting in erroneous computations of
buffer offsets.

The rsync port, versions prior to rsync-2.5.1_1, is not careful enough
about reading integers from the network. In several places, signed and
unsigned numbers are mixed, resulting in erroneous computations of
buffer offsets.

The rsync port is not installed by default, nor is it "part of
FreeBSD" as such: it is part of the FreeBSD ports collection, which
contains over 6000 third-party applications in a ready-to-install
format. The ports collection shipped with FreeBSD 4.5 contains the
corrected version of this port (rsync-2.5.1_1).

FreeBSD makes no claim about the security of these third-party
applications, although an effort is underway to provide a security
audit of the most security-critical ports.

III. Impact

A remote attacker may cause rsync to write NUL bytes onto its stack.
This can be exploited in order to execute arbitrary code with the
privileges of the user running rsync. This is particularly damaging
for sites running rsync in server mode, although a hostile server may
also affect rsync clients.

IV. Workaround

1) Deinstall the rsync ports/packages if you have them installed.

V. Solution

1) Upgrade your entire ports collection and rebuild the port.

2) Deinstall the old package and install a new package dated after the
correction date, obtained from the following directories: