[CLSA-2026:1789745909] Fix CVE(s): CVE-2026-53785
Type:
security
Severity:
Important
Release date:
2026-09-18 15:38:40 UTC
Description:
* SECURITY UPDATE: Destination-tree escape via symlink following in --relative implied-parent handling - debian/patches/CVE-2026-53785.patch: resolve the receiver's destination names one component at a time with O_NOFOLLOW|O_DIRECTORY, acting against a directory fd that is held open, instead of handing the whole name to the kernel to resolve; a component that is a symlink is now refused rather than traversed, so nothing the receiver creates lands at the symlink's target outside the destination tree; adds secure_relative_dirfd(), do_mkdir_at(), do_stat_at(), do_open_at(), do_rename_at(), do_symlink_at(), do_mknod_at() and do_link_at() in syscall.c and routes every way the receiver creates something at a destination name through them -- make_path() in util.c, the four implied-parent sites in generator.c, the install-into-final-name renames in util.c, rsync.c, receiver.c and generator.c, copy_file()'s reopen of the destination on the cross-filesystem fallback, the symlink and mknod creations in generator.c's atomic_create(), and the --link-dest and -H hard links in generator.c and hlink.c; each of those is its own route to the destination name, reached by a different option (--temp-dir bypasses the file create entirely, --devices / --specials and a transferred symlink never touch it, and --link-dest installs a regular file's link from hlink.c but a non-regular file's from generator.c), so confining only some of them leaves the escape open; extends the existing secure_mkstemp() and secure_relative_open() receiver create paths, which the CVE-2026-29518 fix gated on daemon-no-chroot only, to the same confinement; the confinement covers a chrooted daemon serving an inner-module "/./" boundary, whose module root the kernel chroot does not confine, and exempts --keep-dirlinks only for a local receiver, whose documented purpose is to follow a symlinked destination directory -- never for a daemon or for the server side of a push, where the option arrives from the peer; only the confinement this CVE needs is carried, not upstream's whole-tree dirfd-stack resolver, which assumes a source layout this version does not have; defines am_daemon, am_chrooted, am_server, local_server and keep_dirlinks in t_stub.c, which the standalone test harnesses link in place of options.c and main.c, so debian/rules' check target still builds; and adds testsuite/cve-2026-53785.test - CVE-2026-53785
CVEs fixed:
Updated packages:
  • rsync_3.1.1-3ubuntu1.3+tuxcare.els18_amd64.deb
    sha:658e2a80db8d4f67d5be8163eb415752dc4d3b23
Notes:
This page is generated automatically and has not been checked for errors. For clarification or corrections please contact the CloudLinux Packaging Team.