Skip to content

syscall: explain untrusted symlink refusal - #1074

Merged
steadytao merged 2 commits into
RsyncProject:masterfrom
steadytao:fix/untrusted-symlink-diagnostic
Sep 3, 2026
Merged

steadytao merged 2 commits into
RsyncProject:masterfrom
steadytao:fix/untrusted-symlink-diagnostic

Conversation

@steadytao

Copy link
Copy Markdown
Member

Closes #1067

Summary

Explain when rsync rejects an operator path because a symlink component is owned by an untrusted user.

The existing ELOOP result and security policy remain unchanged. The additional diagnostic identifies the ownership rule and points operators to the local and daemon-specific compatibility controls while warning that every path component must be trusted.

The existing cross-UID destination regression now asserts the non-zero exit and actionable diagnostic as well as proving that no files are written through the attacker-owned symlink.

@steadytao
steadytao merged commit 59be391 into RsyncProject:master Sep 3, 2026
20 of 21 checks passed
@steadytao
steadytao deleted the fix/untrusted-symlink-diagnostic branch September 3, 2026 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[3.5.0] rsync: [Receiver] change_dir#1 "/.../" failed: Too many levels of symbolic links (40)

1 participant