CVE-2024-12085: Rsync: info leak via uninitialized stack contents
A flaw was found in rsync which could be triggered when rsync compares file checksums. This flaw allows an attacker to manipulate the checksum length (s2length) to cause a comparison between a checksum and uninitialized memory and leak one byte of uninitialized stack data at a time.
Other sources
A flaw was found in rsync. It could allow a server to enumerate the contents of an arbitrary file from the client's machine. This issue occurs when files are being copied from a client to a server. During this process, the rsync server will send checksums of local data to the client to compare with in order to determine what data needs to be sent to the server. By sending specially constructed checksum values for arbitrary files, an attacker may be able to reconstruct the data of those files byte-by-byte based on the responses from the client.
— OSV
A flaw was found in rsync. When using the --safe-links option, the rsync client fails to properly verify if a symbolic link destination sent from the server contains another symbolic link within it. This results in a path traversal vulnerability, which may lead to arbitrary file write outside the desired directory.
— OSV
A heap-based buffer overflow flaw was found in the rsync daemon. This issue is due to improper handling of attacker-controlled checksum lengths (s2length) in the code. When MAXDIGESTLEN exceeds the fixed SUMLENGTH (16 bytes), an attacker can write out of bounds in the sum2 buffer.
— OSV
A path traversal vulnerability exists in rsync. It stems from behavior enabled by the --inc-recursive option, a default-enabled option for many client options and can be enabled by the server even if not explicitly enabled by the client. When using the --inc-recursive option, a lack of proper symlink verification coupled with deduplication checks occurring on a per-file-list basis could allow a server to write files outside of the client's intended destination directory. A malicious server could write malicious files to arbitrary locations named after valid directories/paths on the client.
— OSV
Rsync: info leak via uninitialized stack contents
— Microsoft
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
alpine/rsyncto a version that resolves this vulnerability.Fixed in 3.4.0-r0 - Upgrade
Upgrade
debian/rsyncto a version that resolves this vulnerability.Fixed in 3.2.7-1+deb12u1 - Upgrade
Upgrade
debian/rsyncto a version that resolves this vulnerability.Fixed in 3.3.0+ds1-3 - Upgrade
Upgrade
debian/rsyncto a version that resolves this vulnerability.Fixed in 3.2.7-1+deb12u6Fixed in 3.2.7-1+deb12u5Fixed in 3.4.1+ds1-5+deb13u4Fixed in 3.5.0+ds1-0+deb13u1Fixed in 3.5.1+ds1-2Fixed in 3.5.2+ds1-1
Event History
Peer vulnerabilities
Found alongside the following vulnerabilities.
Frequently Asked Questions
What is the severity of CVE-2024-12085?
CVE-2024-12085 is considered a moderate severity vulnerability that can lead to the disclosure of sensitive information.
How do I fix CVE-2024-12085?
To fix CVE-2024-12085, you should upgrade to a patched version of rsync, specifically 3.2.3-4+deb11u3, 3.2.7-1+deb12u2, or 3.3.0+ds1-4.
What software is affected by CVE-2024-12085?
CVE-2024-12085 affects specific versions of the rsync package, including versions up to 3.2.3-4+deb11u1 and 3.2.7-1.
What type of vulnerability is CVE-2024-12085?
CVE-2024-12085 is a memory corruption vulnerability that can leak one byte of uninitialized stack data.
Is there any workaround for CVE-2024-12085?
There are no known effective workarounds for CVE-2024-12085, making upgrading to a fixed version essential.