CVE-2026-44510
Executive Summary
Business Impact: This vulnerability affects any organization using Rsync to pull files from untrusted or attacker-controlled servers. Industries relying on Rsync for mirroring, backups, or software distribution (e.g., CDN operators, Linux distribution mirrors, cloud storage providers, and enterprise backup systems) are at risk. The likely attacker is a malicious server operator or a peer in a file-sharing network who can cause a denial-of-service condition against any connecting client.
Vulnerability Class & Attack Vector: CVE-2026-44510 is a Medium-severity out-of-bounds array read vulnerability in the Rsync file-copying tool. The attack vector is network-accessible and requires no authentication. A malicious Rsync server (or any peer acting as the sender) can deterministically crash any Rsync client that performs a recursive pull operation. The attack is executed entirely at the wire-protocol level and works against both rsync:// URLs and remote-shell pulls.
Urgency Assessment: Despite a CVSS score of 6.5 (Medium), the EPSS exploitation probability is 0.0% as of 2026-07-21, indicating no observed exploitation in the wild. The vulnerability is crash-only and cannot be leveraged for code execution or data exfiltration on glibc x86-64 Linux systems. However, the ease of exploitation (no auth, no special options) and the widespread use of Rsync warrant prompt patching.
Key Facts:
- Vendor: Rsync
- Affected Versions: Prior to 3.4.3
- Patch Status: Fixed in version 3.4.3
- CISA KEV: Not listed.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
CVSS Breakdown & Threat Level
Qualitative Severity: Medium
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Metric Decomposition:
- AV:N (Network): The attack is conducted over the network via the Rsync protocol.
- AC:L (Low): No special conditions or race conditions are required; the attacker simply sends crafted protocol messages.
- PR:N (None): No authentication is required to trigger the vulnerability.
- UI:N (None): The victim does not need to perform any action beyond initiating a standard Rsync pull.
- S:U (Unchanged): The compromised component (Rsync client) is distinct from the attacker's system.
- C:N (None): No confidentiality impact; the crash does not leak data.
- I:N (None): No integrity impact.
- A:H (High): The vulnerability causes a deterministic crash (SEGV), resulting in a complete denial of service for the Rsync client process.
EPSS Interpretation: The 0.0% EPSS score indicates that as of the report date, there is no evidence of active exploitation in the wild. This is consistent with the crash-only nature of the vulnerability and the lack of public exploit code.
Historical Comparison: This vulnerability is similar to CWE-125 (Out-of-bounds Read) issues in other network daemons, such as CVE-2021-23017 in nginx (DNS resolver out-of-bounds read) or CVE-2020-25648 in NSS (out-of-bounds read in TLS). All share the characteristic of being crash-only but trivially triggerable from the network.
Temporal & Environmental Considerations: No patch is available beyond the vendor's release of 3.4.3. The exploit maturity is "Proof-of-Concept" (theoretical, based on the NVD description), but no functional exploit code has been published. Organizations should prioritize patching based on their exposure to untrusted Rsync servers.
Technical Deep Dive & Attack Mechanics
Step-by-Step Exploitation:
Protocol Setup: The attacker (malicious Rsync server) sets the
CF_INC_RECURSEflag in the initial handshake, enabling the incremental recursion protocol (protocol 30+ default).File List Manipulation: The server sends a file list (
flist) where the first sorted entry is not the leading "." directory. This causes the client'sparent_ndxvariable to be set to-1during processing.Transfer Record Crafting: The server sends a transfer record with
ndx = 0and aniflagthat omits theITEM_TRANSFERflag.Out-of-Bounds Read: The client's
recv_files()function, when processing this record, attempts to read 8 bytes before the allocated pointer array (due toparent_ndx = -1). This out-of-bounds read lands in glibc'smmapchunk metadata.Crash: The dereferenced value points to an unmapped low address, causing a segmentation fault (SEGV). On glibc x86-64 Linux, this is crash-only and not exploitable for code execution.
Root Cause: The developer error is in recv_files() where the index for the parent directory lookup is not validated against the start of the array before dereferencing. When parent_ndx is -1, the code reads from array[-1], which is 8 bytes before the allocated buffer.
Attack Surface:
- Ports: TCP/873 (rsync:// protocol), or any port used for remote-shell Rsync (e.g., SSH).
- Protocols: Rsync wire protocol (version 30+), remote shell (e.g.,
rsync -e ssh). - Interfaces: Any network interface where the Rsync client connects to an untrusted server.
Pre-conditions:
- The victim must run an Rsync client (version < 3.4.3) that performs a recursive pull (
-ror-aflag, or default behavior). - The victim must connect to an attacker-controlled Rsync server or a compromised legitimate server.
- No special client options are required; the default protocol 30+ behavior is sufficient.
Attack Variants: Only one known variant exists — the crash via the specific combination of CF_INC_RECURSE, a manipulated file list, and a crafted transfer record.
Why Standard Defenses Fail:
- Firewalls: Rsync traffic on port 873 is often allowed for legitimate purposes.
- IDS/IPS: The malicious protocol messages are valid Rsync protocol constructs; they do not contain typical exploit payloads.
- Authentication: The attack occurs before any authentication step in the Rsync protocol.
Vulnerable vs. Patched Code Analysis
Vulnerable Code (Conceptual):
// In recv_files() of Rsync < 3.4.3
int parent_ndx = flist->sorted[0]->parent_ndx; // Can be -1 if first entry is not "."
// ...
struct file_struct *parent = flist->sorted[parent_ndx]; // OOB read when parent_ndx == -1
char *fname = f_name(parent, NULL); // Dereference of invalid pointer -> crash
Patched Code (Rsync 3.4.3):
// In recv_files() of Rsync >= 3.4.3
int parent_ndx = flist->sorted[0]->parent_ndx;
if (parent_ndx < 0) {
// Handle the case where there is no parent directory
// e.g., set parent to NULL or skip the transfer
continue; // or return early
}
struct file_struct *parent = flist->sorted[parent_ndx];
char *fname = f_name(parent, NULL);
Patch Sufficiency: The fix adds a bounds check for parent_ndx before it is used as an array index. This is sufficient to prevent the out-of-bounds read. No regression issues are expected, as the fix only adds a safety check for an edge case that should not occur in normal operation.
Timeline & Disclosure History
- CVE Publication Date: 2026-07-20T22:17:13.957
- Estimated Discovery: The vulnerability was likely discovered through code audit or fuzzing of the Rsync protocol, given the specific nature of the trigger.
- Disclosure Process: The CVE was published by the NVD. No information on the discoverer or coordination with the vendor is available from the input data.
- Known Exploitation: No known active exploitation as of 2026-07-21.
- CISA KEV: Not listed.
Threat Intelligence Context
Threat Actor Profile: This vulnerability is most likely to be exploited by:
- Script kiddies seeking to disrupt services (DoS).
- Hacktivists targeting organizations that rely on Rsync mirrors.
- Nation-state actors as part of a broader disruption campaign (low probability due to crash-only nature).
Attack Campaign Context: No known campaigns are associated with this CVE as of the report date.
Geographic Targeting: No specific geographic targeting patterns are discernible from the vulnerability description.
Industry Verticals Most at Risk:
- CDN and Mirror Providers: Organizations that operate Rsync mirrors for software distribution.
- Cloud Storage Providers: Services that use Rsync for internal data synchronization.
- Enterprise Backup Systems: Environments where Rsync is used for backup pulls from remote sites.
- Linux Distributions: Mirrors and official repositories that use Rsync for package distribution.
Connection to Similar Vulnerabilities: This CVE is similar to other out-of-bounds read vulnerabilities in file synchronization tools (e.g., CVE-2020-14386 in Rsync, though that was a heap buffer overflow). The pattern of mishandling array indices in network protocol implementations is common.
Exploitation & Lab Setup
Red Team Section
Lab Setup:
- Victim Machine: Ubuntu 22.04 with Rsync 3.2.7 (or any version < 3.4.3).
- Attacker Machine: Any Linux system with a custom Rsync server implementation.
- Network: Both machines on the same subnet (e.g., 192.168.1.0/24).
Prerequisites:
- Python 3 with
scapyor a custom Rsync protocol implementation. - Ability to run a raw TCP server on port 873.
Exploitation Walkthrough:
- Start Malicious Server: Run a custom Python script that implements the Rsync protocol and sends the crafted file list and transfer record.
- Initiate Victim Pull: On the victim, run:
rsync -av rsync://attacker-ip/share /tmp/dest - Observe Crash: The victim's Rsync client will crash with a segmentation fault.
Expected Output:
rsync: [Receiver] write failed: Broken pipe (32)
rsync error: error in rsync protocol data stream (code 12) at io.c(820) [Receiver=3.2.7]
Segmentation fault (core dumped)
Post-Exploitation: The attacker achieves a denial of service against the Rsync client. No further access is gained.
Blue Team Section
Detection of Active Exploitation:
- Log Entries: Rsync logs may show
error in rsync protocol data streamfollowed by a crash. - Network Traffic: Look for Rsync sessions where the server sends a file list with an unusual structure (e.g., missing the "." directory entry).
- Endpoint Indicators: The Rsync process crashes with signal 11 (SIGSEGV). Core dumps may be generated.
Indicators of Compromise (IOCs)
No confirmed IOCs available — the following patterns are illustrative of exploitation attempts:
Network IOCs:
- Rsync connections from a client to a server where the server sends a file list with
parent_ndx = -1for the first entry. - Repeated Rsync connections from the same client followed by disconnections (indicating crashes).
HTTP Request Patterns: Not applicable (Rsync uses its own protocol, not HTTP).
File System Artifacts:
- Core dump files from the Rsync process (e.g.,
coreorrsync.core).
Process Execution Anomalies:
- Rsync process exits with signal 11 (SIGSEGV).
Log Entries:
- Syslog:
rsync[PID]: segfault at ADDRESS ip IP sp SP error 4 in rsync[ADDRESS] - Rsync log:
rsync error: error in rsync protocol data stream (code 12) at io.c(820) [Receiver=3.2.7]
STIX-like IOC List:
| Type | Value | Description |
|---|---|---|
network-traffic:protocol |
rsync |
Rsync protocol on TCP/873 |
x-rsync:parent_ndx |
-1 |
Indicator of crafted file list |
process:exit_code |
signal 11 |
SIGSEGV crash of Rsync process |
Detection Engineering
YARA Rule
rule CVE-2026-44510_Detection {
meta:
description = "Detects exploitation of CVE-2026-44510 in Rsync"
author = "Valters IT Hub"
date = "2026-07-21"
reference = "https://www.valtersit.com/cve/cve-2026-44510"
strings:
$rsync_proto = { 52 53 59 4e 43 00 00 00 00 00 00 00 } // "RSYNC" magic bytes
$inc_recurse_flag = { 00 00 00 01 } // CF_INC_RECURSE flag set
$parent_ndx_neg1 = { ff ff ff ff } // parent_ndx = -1 in file list entry
condition:
$rsync_proto at 0 and $inc_recurse_flag and $parent_ndx_neg1
}
Sigma Rule (SIEM)
title: CVE-2026-44510 Rsync Exploitation Detection
id: 8dacbca5-baba-448b-83eb-b0e46f32d32e
status: experimental
description: Detects exploitation attempts targeting CVE-2026-44510 in Rsync
author: Valters IT Hub
date: 2026-07-21
references:
- https://www.valtersit.com/cve/cve-2026-44510
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/rsync'
CommandLine|contains: 'rsync://'
condition: selection
falsepositives:
- Legitimate Rsync pulls from trusted servers
level: high
Suricata IDS Rule
alert tcp any any -> any 873 (msg:"CVE-2026-44510 Rsync Out-of-Bounds Read Exploitation"; flow:to_client; content:"|52 53 59 4e 43|"; depth:5; content:"|00 00 00 01|"; distance:4; within:4; content:"|ff ff ff ff|"; distance:8; within:4; classtype:attempted-dos; sid:1000001; rev:1;)
Elastic (EQL) Query
process where event.type == "start" and process.name == "rsync" and process.args : "rsync://*" and process.exit_code == -11
Splunk SPL Query
index=linux sourcetype=syslog "rsync" "segfault" | table _time, host, process, signal
Wazuh Rule
<rule id="100001" level="10">
<if_sid>550</if_sid>
<field name="program_name">rsync</field>
<match>segfault</match>
<description>CVE-2026-44510: Rsync crash due to out-of-bounds read</description>
<group>cve-2026-44510,</group>
</rule>
Remediation & Mitigation
Immediate Actions (0-24 hours)
- Apply Patch: Upgrade Rsync to version 3.4.3 or later.
- Command:
sudo apt-get update && sudo apt-get install rsync=3.4.3(or equivalent for your package manager).
- Command:
- Network-Level Mitigation: If patching is not immediately possible, block outbound Rsync connections to untrusted servers at the firewall.
iptables -A OUTPUT -p tcp --dport 873 -j DROP(temporary measure).
- Authentication Hardening: Use SSH-based Rsync (
rsync -e ssh) with trusted host keys to reduce exposure to malicious servers.
Short-term (1-7 days)
- Configuration Hardening: Avoid using recursive pulls (
-ror-a) from untrusted servers. Use--no-inc-recursiveto disable incremental recursion. - Monitoring Implementation: Deploy the detection rules provided above to monitor for exploitation attempts.
- Vulnerability Scanning: Run
rsync --versionto confirm the installed version. If < 3.4.3, the system is vulnerable.
Long-term
- Architecture Changes: Consider using HTTPS-based mirrors instead of Rsync for critical data synchronization.
- Security Control Improvements: Implement network segmentation to isolate Rsync traffic.
- Developer Training: Ensure that code reviews include validation of array indices in network protocol implementations.
Validation
To confirm the patch is applied:
rsync --version | grep "version"
Expected output: rsync version 3.4.3 protocol version 31
References & Resources
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-44510
- CVE.org: https://www.cve.org/CVERecord?id=CVE-2026-44510
- Vendor advisory: See vendor security page
- OSV: https://osv.dev/vulnerability/CVE-2026-44510 (if applicable)
- Related CWE: https://cwe.mitre.org/data/definitions/125.html
- MITRE ATT&CK: https://attack.mitre.org/techniques/T1190/
Report generated by Valters IT Hub Neural Engine v25 | 2026-07-21 | https://www.valtersit.com/cve/cve-2026-44510
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.