Rsync Uninitialized Memory Vulnerability Leading to Information Disclosure

Vulnerability

A vulnerability in Rsync versions through 3.2.7 allows for information leakage via uninitialized stack memory. This issue arises when Rsync's daemon compares file checksums. An attacker can manipulate the checksum length to force a comparison with uninitialized memory, leaking one byte of sensitive data at a time. Over multiple requests, up to MAX_DIGEST_LEN - 8 bytes can be extracted, potentially bypassing Address Space Layout Randomization (ASLR).

Impact

Exploitation of this vulnerability allows an attacker to leak uninitialized stack data, which could include pointers to critical memory locations, such as those used by the heap or stack cookies. This information could be used to bypass security mechanisms like ASLR, leading to further exploitation.

Reproduction

The vulnerability can be reproduced by running an Rsync server with the daemon option enabled. An attacker can then send a crafted checksum that manipulates the checksum length, causing the server to compare it with uninitialized memory on the stack. This can be done by exploiting the Rsync protocol's checksum handling, particularly by using a version of Rsync that supports SHA256 digests, which allows for greater manipulation of the checksum data.

Remediation

Users can upgrade to Rsync version 3.4.0 or later, where this vulnerability has been patched.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
5.7
impact
2.5
exploitability
9.1
remediation
7.7
relevance
0.0
threat
6.8
urgency
2.9
incentive
10.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.