Skip to content
Heist/ feed
Back to feed
UnratedFix available

Fix CVE(s): CVE-2026-53785

Type: advisorySources: OSV

* 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() a

Products
rsync
Affected versions
Not specified
Fixed versions
3.1.1-3ubuntu1.3+tuxcare.els18
CVEs
CVE-2026-29518, CVE-2026-53785
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 11:57 UTC · Revision 1

Source evidence

Fix CVE(s): CVE-2026-53785

core-osv · Original source

Published 18 Sept 2026, 15:38 UTC

* 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() a

osv:CLSA-2026-1789745909

rsync

Fixed versions: 3.1.1-3ubuntu1.3+tuxcare.els18

Complete source record
{
  "id": "b76b31987ba19bfd41c9979b31087e6cc3285caf0db865d0a6a41d4366d6f49b",
  "url": "https://osv.dev/vulnerability/CLSA-2026-1789745909",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Fix CVE(s): CVE-2026-53785",
    "summary": "* 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() a",
    "evidence": "osv:CLSA-2026-1789745909",
    "products": [
      {
        "name": {
          "value": "rsync",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3.1.1-3ubuntu1.3+tuxcare.els18",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CLSA-2026-1789745909",
      "aliases": [
        "CLSA-2026-1789745909"
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3.1.1-3ubuntu1.3+tuxcare.els18"
                }
              ]
            }
          ],
          "package": {
            "name": "rsync",
            "purl": "pkg:deb/tuxcare/rsync?distro=ubuntu-16.04",
            "ecosystem": "TuxCare:Ubuntu:16.04"
          },
          "database_specific": {
            "source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/ubuntu16.04els/CLSA-2026-1789745909.json"
          }
        }
      ],
      "modified": "2026-10-26T09:43:51.828408273Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-29518",
        "CVE-2026-53785"
      ],
      "references": [
        "https://errata.tuxcare.com/els_os/ubuntu16.04els/CLSA-2026-1789745909.html",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-53785"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-29518",
        "evidence": "/upstream"
      },
      {
        "value": "CVE-2026-53785",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 450201,
  "published_at": "2026-09-18T15:38:40+00:00"
}