CVE-2024-12084 is a critical vulnerability in the widely-used Rsync tool, identified as a heap-based buffer overflow.
This flaw arises from improper handling of attacker-controlled checksum lengths (s2length) in the Rsync daemon.
When the checksum length exceeds a fixed boundary, it allows attackers to write data out-of-bounds into memory, potentially leading to remote code execution (RCE) or denial of service (DoS).
The vulnerability has been rated with a CVSS score of 9.8, reflecting its high severity.
Functionality Of The Provided Tool
The provided Python script is designed to test Rsync servers for vulnerabilities, particularly focusing on modules’ accessibility and permissions. Here’s an overview of its key functions:
list_modules(ip)
:
- Connects to an Rsync server at the specified IP address on port 873.
- Lists available modules using the
rsync
command. - Identifies whether the server is accessible or restricted by password protection.
test_module(ip, module)
:
- Tests a specific module on the Rsync server.
- Verifies read access by listing module contents.
- Checks write permissions by attempting to upload a test file. If successful, it indicates that the module is writable, which could be exploited by attackers.
process_ips(ip_list)
:
- Iterates through a list of IPs to test each server.
- Aggregates results for accessibility, module listings, and permission statuses.
- Command-line Usage:
- The script takes an input file (
ips.txt
) containing IP addresses. - Outputs results indicating whether servers are accessible, their modules, and their respective permissions.
Relevance To CVE-2024-12084
This tool can be used to identify potential vulnerabilities in Rsync servers that could be exploited via CVE-2024-12084.
If a server allows anonymous access or has writable modules, it becomes an easy target for attackers to exploit the heap overflow vulnerability for remote code execution or data compromise.
To address CVE-2024-12084:
- Upgrade Rsync to version 3.4.0, which patches this vulnerability.
- Restrict access to Rsync servers by disabling anonymous connections and enforcing strong authentication mechanisms.
- Monitor network activity for unusual behavior on port 873 using tools like Falco.