Arch Linux Security Advisory ASA-202501-1 ========================================= Severity: Critical Date : 2025-01-14 CVE-ID : CVE-2024-12084 CVE-2024-12085 CVE-2024-12086 CVE-2024-12087 CVE-2024-12088 CVE-2024-12747 Package : rsync Type : multiple issues Remote : Yes Link : https://security.archlinux.org/AVG-2858 Summary ======= The package rsync before version 3.4.0-1 is vulnerable to multiple issues including arbitrary code execution, arbitrary file upload, information disclosure and privilege escalation. Resolution ========== Upgrade to 3.4.0-1. # pacman -Syu "rsync>=3.4.0-1" The problems have been fixed upstream in version 3.4.0. Workaround ========== None. Description =========== - CVE-2024-12084 (arbitrary code execution) 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 MAX_DIGEST_LEN exceeds the fixed SUM_LENGTH (16 bytes), an attacker can write out of bounds in the sum2 buffer. - CVE-2024-12085 (information disclosure) A flaw was found in the rsync daemon 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. - CVE-2024-12086 (information disclosure) 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. - CVE-2024-12087 (arbitrary file upload) 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. - CVE-2024-12088 (arbitrary file upload) A flaw was found in rsync. When using the --safe-links option, rsync fails to properly verify if a symbolic link destination contains another symbolic link within it. This results in a path traversal vulnerability, which may lead to arbitrary file write outside the desired directory. - CVE-2024-12747 (privilege escalation) A flaw was found in rsync. This vulnerability arises from a race condition during rsync's handling of symbolic links. Rsync's default behavior when encountering symbolic links is to skip them. If an attacker replaced a regular file with a symbolic link at the right time, it was possible to bypass the default behavior and traverse symbolic links. Depending on the privileges of the rsync process, an attacker could leak sensitive information, potentially leading to privilege escalation. Impact ====== A remote attacker is able to execute arbitrary code on a device that has an Rsync server running. The client requires only anonymous read- access to the server, such as public mirrors. Additionally, attackers can take control of a malicious server and read/write arbitrary files of any connected client. Sensitive data, such as OpenPGP and SSH keys, can be extracted, and malicious code can be executed by overwriting files such as ~/.bashrc or ~/.popt. References ========== https://kb.cert.org/vuls/id/952657 https://www.openwall.com/lists/oss-security/2025/01/14/3 https://download.samba.org/pub/rsync/NEWS#3.4.0 https://security.archlinux.org/CVE-2024-12084 https://security.archlinux.org/CVE-2024-12085 https://security.archlinux.org/CVE-2024-12086 https://security.archlinux.org/CVE-2024-12087 https://security.archlinux.org/CVE-2024-12088 https://security.archlinux.org/CVE-2024-12747