CVE-2017-16548
Critical · 9.8CVSS
9.8
EPSS
5.8%
Published
Nov 6, 2017
CISA due date
—
Cloudanix analysis
A problem in file synchronization software can let attackers send bad data that crashes the program or leaks information, so organizations should update their affected tools right away to keep systems stable.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Missing null terminator validation in receive_xattr allows a remote attacker to trigger a heap buffer over-read when processing a crafted extended attribute name over the rsync protocol.
Why it matters to the business
Unpatched rsync instances in container or orchestration images can experience crashes or memory disclosure, leading to service outages for synchronization jobs and potential exposure of sensitive file metadata across many dependent deployments.
How an attack unfolds
An unauthenticated attacker connects to an rsync daemon, crafts an xattr name lacking a trailing null byte inside the attribute payload, and sends it during the receive phase to induce the over-read condition and application crash or further memory corruption.
How to fix it
Upgrade nri-kubernetes-2.13 and nri-kubernetes-2.13-compat to version 2.13.15-r1 or later; rebuild and redeploy all affected container images containing the vulnerable rsync component.
How to confirm the fix worked
Confirm rsync binary or library version inside rebuilt images matches or exceeds the fixed release; run protocol fuzzing or static analysis targeting receive_xattr to verify the null check is present.
Typical attack path
- Establish TCP connection to rsync daemon on default or configured port
- Initiate file transfer or list operation that triggers xattr handling
- Transmit malformed extended attribute name without terminating null byte
- Trigger receive_xattr processing to cause heap over-read and crash
How to detect it
Review rsync daemon logs for sudden crashes or malformed attribute handling around the time of file transfer attempts; inspect core dumps or memory traces for patterns consistent with xattr buffer over-reads.
What your security team should do
- Immediately update all Chainguard nri-kubernetes images to the stated fixed versions
- Scan container registries and build pipelines for any remaining references to vulnerable rsync versions
- Add rsync daemon exposure to network segmentation and monitoring rules until patches are applied
The record
The receive_xattr function in xattrs.c in rsync 3.1.2 and 3.1.3-development does not check for a trailing '\0' character in an xattr name, which allows remote attackers to cause a denial of service (heap-based buffer over-read and application crash) or possibly have unspecified other impact by sending crafted data to the daemon.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.10 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.11 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.12 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.13 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.14 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.15 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.16 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.17 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.18 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.19 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.20 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.21 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.22 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.4 | rsync | 0 | 3.1.2-r3 |
| Alpine:v3.5 | rsync | 0 | 3.1.2-r3 |
| Alpine:v3.6 | rsync | 0 | 3.1.2-r6 |
| Alpine:v3.7 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.8 | rsync | 0 | 3.1.2-r7 |
| Alpine:v3.9 | rsync | 0 | 3.1.2-r7 |
| Debian:11 | rsync | 0 | 3.1.2-2.1 |
| Debian:12 | rsync | 0 | 3.1.2-2.1 |
| Debian:13 | rsync | 0 | 3.1.2-2.1 |
| Debian:14 | rsync | 0 | 3.1.2-2.1 |
| Debian:7 | rsync | 0 | 3.0.9-4+deb7u1 |
| Debian:8 | rsync | 0 | 3.1.1-3+deb8u1 |
| Debian:9 | rsync | 0 | 3.1.2-1+deb9u1 |
| Mageia:5 | rsync | 0 | 3.1.1-5.3.mga5 |
| Mageia:6 | rsync | 0 | 3.1.2-1.2.mga6 |
| SUSE:Linux Enterprise Desktop 12 SP2 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Server 11 SP4 | rsync | 0 | 3.0.4-2.53.3.1 |
| SUSE:Linux Enterprise Server 12 SP2 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Server 12 SP3 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | rsync | 0 | 3.0.4-2.53.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | rsync | 0 | 3.1.0-13.7.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | rsync | 0 | 3.1.0-13.7.1 |
| Ubuntu:14.04:LTS | rsync | 0 | 3.1.0-2ubuntu0.4 |
| Ubuntu:16.04:LTS | rsync | 0 | 3.1.1-3ubuntu1.2 |
| openSUSE:Tumbleweed | rsync | 0 | 3.2.3-2.6 |
Related vulnerabilities
- CVE-2017-17433 The recv_files function in receiver.c in the daemon in rsync 3.1.2, and 3.1.3-development… Also affects rsync
- CVE-2024-12084 A heap-based buffer overflow flaw was found in the rsync daemon. Also affects rsync
- CVE-2024-12086 A flaw was found in rsync. Also affects rsync
- CVE-2024-12085 A flaw was found in rsync which could be triggered when rsync compares file checksums. Also affects rsync
- CVE-2024-12087 A path traversal vulnerability exists in rsync. Also affects rsync
- CVE-2024-12088 A flaw was found in rsync. Also affects rsync
- CVE-2024-12747 A flaw was found in rsync. Also affects rsync
- CVE-2016-9840 inftrees.c in zlib 1.2.8 might allow context-dependent attackers to have unspecified… Also affects rsync