A publicly disclosed vulnerability in rsync affects versions 3.0.1 through 3.4.1, as well as the 3.4.2 development head, due to a use-after-free bug in the receive_xattr() function. The flaw occurs because rsync uses a wire-supplied extended-attribute count as the length for qsort() instead of the number of accepted xattrs, which can pull stale entries from prior files into the current file's xattr list. A malicious rsync sender can trigger dangling pointers, read-after-free, double-free, heap corruption, information disclosure, and denial of service in the receiving process over the network.
The bug was traced to commit d724dd186, introduced during development of rsync 3.0.1pre1 in 2008 when sorting was added after namespace prefix munging for --fake-super mode. On Linux, exploitation requires --xattrs together with --fake-super or certain xattr filter configurations, while on FreeBSD, macOS, and other non-Linux platforms, any use of -X/--xattrs is vulnerable. The reported fix is to replace the qsort() count argument with temp_xattr.count, while public discussion on oss-sec also raised questions about whether and when rsync maintainers had been notified before disclosure.

See affected versions and whether adversaries are exploiting it.
4 events from the most recent confirmed update back to the earliest known activity.
In follow-up oss-sec discussion, Salvatore Bonaccorso said the rsync use-after-free vulnerability appeared to have been assigned CVE-2026-41035 and pointed to the public CVE record. This added a formal vulnerability identifier to the previously disclosed flaw.
In follow-up discussion on oss-sec, Alan Coopersmith asked whether rsync maintainers had been notified and when that notification occurred. The exchange indicated that disclosure coordination details were still unresolved in the public thread.
Przemyslaw Frasunek disclosed a use-after-free vulnerability in rsync's receive_xattr() function, explaining that a wire-supplied xattr count was used as the qsort() length instead of the actual accepted xattr count. The report said this could cause dangling pointers, double-free, heap corruption, information disclosure, and denial of service when a malicious sender targets a receiver using extended attributes.
A vulnerable change was introduced in commit d724dd186, adding qsort() handling in receive_xattr() during development of rsync 3.0.1pre1. This change created the use-after-free condition later reported as affecting rsync 3.0.1 through 3.4.1 and the 3.4.2 development head.
Vulnerabilities, threat actors, malware, products, organizations, and breaches Mallory has linked to this story.
See whether adversaries are exploiting this yet, and where the affected versions run in your environment.
4 references tracked. Mallory keeps watching after this page renders.
seclists.org
Open sourceseclists.org
Open sourceseclists.org
Open sourceseclists.org
Open sourceMap indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.