iDefense published advisory affecting rdesktop:
Remote exploitation of an integer signedness vulnerability in rdesktop, as
included in various vendors' operating system distributions, allows attackers
to execute arbitrary code with the privileges of the logged-in user.
The vulnerability exists within the code responsible for reallocating dynamic
buffers. The rdesktop xrealloc() function uses a signed comparison to determine
if the requested allocation size is less than 1. When this occurs, the function
will incorrectly set the allocation size to be 1. This results in an improperly
sized heap buffer being allocated, which can later be overflowed.
Exploitation of this vulnerability results in the execution of arbitrary code
with the privileges of the logged in user. In order to exploit this
vulnerability, an attacker must persuade a targeted user to connect to a
malicious RDP server.
Upstream released version 1.6.0 which address this issue:
rdesktop-1.6.0-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
rdesktop-1.6.0-1.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.
rdesktop-1.6.0-1.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report.
This issue did not affect rdesktop packages as shipped in Red Hat Enterprise
Linux 3 and 4. xrealloc in those versions (1.2.0 and 1.3.1 respectively) does
not set size to 1 when size is lower than 1. Negative size values are cast to
large positive when passed as size_t-typed argument to realloc.
This issue was addressed in:
Red Hat Enterprise Linux: