{"id":"CLSA-2026-1789783256","summary":"rsync: Fix of 7 CVEs","details":"- CVE-2026-70456: reserve the slot read_args() needs for its trailing NULL, so\n  a peer argument count landing exactly on maxargs cannot write one pointer\n  past the argv allocation\n- CVE-2026-70458: refuse FLAG_HLINKED when hard links are not in use and on a\n  directory entry, so a peer cannot displace the checksum slot through\n  hard-link extras that were never reserved; also set sender_keeps_checksum in\n  the daemon-as-sender path, and skip the content-based basis match for a\n  hard-linked non-regular file, so %C and --compare-dest cannot read a\n  checksum slot that was never allocated\n- CVE-2026-70462: reject a non-positive MSG_IO_TIMEOUT from the peer and cap it\n  at 24 hours, and make set_io_timeout()'s arithmetic overflow-safe, so a\n  crafted server can neither disable the client's --timeout nor spin it at 100%\n  CPU on a negative select() timeout\n- CVE-2026-70453: bound the hash_search() chain walk at MAX_CHAIN_LEN, so a\n  basis file whose weak checksums all collide cannot drive an\n  O(file_size * chain_length) scan\n- CVE-2026-53785: create each implied parent directory through do_mkdir_at()\n  against a held O_NOFOLLOW directory fd, and widen that wrapper's gate from\n  a non-chrooted daemon to any non-chrooted receiver as upstream does, so a\n  parent component raced into a symlink can no longer place --relative\n  directories outside the destination over ssh either\n- CVE-2026-53794: reject --max-alloc=0, which disabled the per-allocation size\n  cap entirely instead of enforcing a zero one\n- CVE-2026-53790: shell-escape %VAR% expansions for their quoting context in\n  the daemon's exec hooks and refuse a peer value holding shell syntax, quote\n  the program names the rsync-ssl helper execs and restrict the hostname it\n  interpolates into them, refuse a shell-active RSYNC_CONNECT_PROG host, and\n  widen the remote-shell safe_arg() escape set","modified":"2026-10-26T09:43:41.062984326Z","published":"2026-09-19T02:01:14Z","upstream":["CVE-2026-53785","CVE-2026-53790","CVE-2026-53794","CVE-2026-70453","CVE-2026-70456","CVE-2026-70458","CVE-2026-70462"],"references":[{"type":"ADVISORY","url":"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1789783256.html"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53785"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53790"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53794"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70453"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70456"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70458"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-70462"}],"affected":[{"package":{"name":"rsync","ecosystem":"TuxCare:AlmaLinux:9.6","purl":"pkg:rpm/tuxcare/rsync?distro=almalinux-9.6"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.5-3.el9_6.tuxcare.els18"}]}],"database_specific":{"source":"https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1789783256.json"}},{"package":{"name":"rsync-daemon","ecosystem":"TuxCare:AlmaLinux:9.6","purl":"pkg:rpm/tuxcare/rsync-daemon?distro=almalinux-9.6"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.5-3.el9_6.tuxcare.els18"}]}],"database_specific":{"source":"https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1789783256.json"}},{"package":{"name":"rsync-rrsync","ecosystem":"TuxCare:AlmaLinux:9.6","purl":"pkg:rpm/tuxcare/rsync-rrsync?distro=almalinux-9.6"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.5-3.el9_6.tuxcare.els18"}]}],"database_specific":{"source":"https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/almalinux9.6esu/CLSA-2026-1789783256.json"}}],"schema_version":"1.9.0"}