Lucene search
+L

Alibaba Cloud Linux 3 : 0323: rsync (ALINUX3-SA-2026:0323)

🗓️ 29 Oct 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 1 Views

Authenticated clients can escape directory restrictions or write files outside trees in rsync.

Related
Refs
Code
ReporterTitlePublishedViews
Family
attackerkb
attackerkb
CVE-2026-53783
13 Aug 202614:34
–attackerkb
attackerkb
attackerkb
CVE-2026-53793
13 Aug 202614:38
–attackerkb
attackerkb
attackerkb
CVE-2026-70461
13 Aug 202614:42
–attackerkb
attackerkb
attackerkb
CVE-2026-53790
13 Aug 202614:37
–attackerkb
attackerkb
attackerkb
CVE-2026-70452
13 Aug 202614:46
–attackerkb
attackerkb
attackerkb
CVE-2026-70460
13 Aug 202614:43
–attackerkb
attackerkb
attackerkb
CVE-2026-70456
13 Aug 202614:44
–attackerkb
attackerkb
attackerkb
CVE-2026-53789
13 Aug 202614:37
–attackerkb
attackerkb
attackerkb
CVE-2026-70463
13 Aug 202614:42
–attackerkb
attackerkb
attackerkb
CVE-2026-53785
13 Aug 202614:34
–attackerkb
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
#
# The package checks in this plugin were extracted from
# Alibaba Cloud Linux Security Advisory ALINUX3-SA-2026:0323.
##

include('compat.inc');

if (description)
{
  script_id(373499);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/10/29");

  script_cve_id(
    "CVE-2026-53783",
    "CVE-2026-53784",
    "CVE-2026-53785",
    "CVE-2026-53789",
    "CVE-2026-53790",
    "CVE-2026-53793",
    "CVE-2026-53795",
    "CVE-2026-53802",
    "CVE-2026-53803",
    "CVE-2026-70452",
    "CVE-2026-70453",
    "CVE-2026-70456",
    "CVE-2026-70458",
    "CVE-2026-70460",
    "CVE-2026-70461",
    "CVE-2026-70463",
    "CVE-2026-70464"
  );

  script_name(english:"Alibaba Cloud Linux 3 : 0323: rsync (ALINUX3-SA-2026:0323)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Alibaba Cloud Linux host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The remote Alibaba Cloud Linux 3 host has packages installed that are affected by multiple vulnerabilities as referenced
in the ALINUX3-SA-2026:0323 advisory.

    Package updates are available for Alibaba Cloud Linux 3 that fix the following vulnerabilities:

    CVE-2026-53783:
    rsync before3.5.0 contains a time-of-check to time-of-use (TOCTOU) race condition vulnerability in the
    rrsync restricted shell wrapper that allows authenticated clients to escape enforced directory
    restrictions by substituting a symlink for a path component after validation but before transfer
    processing. Attackers can additionally leverage unrestricted flags such as --copy-unsafe-links, -D, and
    --log-file through rrsync to read or write files outside the permitted directory subtree.

    CVE-2026-53784:
    rsync before 3.5.0contains a path traversal vulnerability that allows remote clients to access files
    outside the intended module root when use chroot is disabled and the module root path or a component of it
    is a symlink. The daemon calls chdir() to the module root at session initialization without resolving
    symlinks via realpath() or equivalent, causing subsequent relative-path operations to reference files
    relative to the symlink target rather than the intended module root, enabling unauthorized file access.

    CVE-2026-53785:
    rsyncbefore 3.5.0contains a path traversal vulnerability that allows a malicious sender to write files
    outside the intended destination directory tree by crafting relative paths with symlink components in
    --relative mode. The make_path() function follows symlinks pointing outside the destination tree while
    creating intermediate directories without verifying that created paths remain within the destination
    boundary, enabling arbitrary file writes on the receiver's filesystem.

    CVE-2026-53789:
    rsync before 3.5.0contains an improper path handling vulnerability that allows a malicious sender to
    expand the scope of --delete operations beyond the intended destination subtree by sending a crafted file
    list that causes rsync to reclassify implied parent directory entries or treat synthetic paths as the
    transfer root. Attackers can exploit multiple variants including implied parent reclassification,
    synthetic root path construction, legacy protocol behavior below version 30, and non-directory root
    handling to cause the receiver to delete files outside the authorized destination directory.

    CVE-2026-53790:
    rsync before 3.5.0contains multiple command and argument injection vulnerabilities that allow attackers
    to execute arbitrary commands by supplying malicious input through several code paths, including the
    RSYNC_CONNECT_PROG environment variable, daemon hooks, the rsync-ssl wrapper, and remote-shell command
    newline injection. Attackers can inject shell metacharacters or newline characters into unsanitized user-
    supplied values such as hostnames and hostspecs to execute arbitrary commands under the privileges of the
    rsync process or the invoking user.

    CVE-2026-53793:
    rsync before 3.5.0contains a path confinement bypass vulnerability that allows remote clients to escape
    the intended inner-module root confinement by constructing paths that resolve outside the chroot boundary
    when the module root contains a /./ boundary marker. Attackers can exploit improper handling of the /./
    notation or forge delta-basis transfers referencing xname paths that cross the /./ boundary to gain
    unauthorized read or write access to files outside the module's subtree.

    CVE-2026-53795:
    rsync before 3.5.0contains an arbitrary file write vulnerability that allows attackers to write files
    outside the intended destination tree by specifying an absolute path via --temp-dir or --link-dest
    options. The rename-confinement logic is bypassed when these options resolve to paths outside the
    destination tree, enabling attacker-controlled values to write files to arbitrary locations accessible to
    the rsync process.

    CVE-2026-53802:
    rsync before 3.5.0 contains an arbitrary file read vulnerability that allows attackers to read files
    accessible to the rsync daemon process by exploiting symlink following in input configuration file
    handling including --files-from, --password-file, and filter merge files. Attackers can place a symlink at
    a predictable --files-from or --password-file path, or supply a --files-from path that escapes the daemon
    module root, to read arbitrary files accessible to the rsync process.

    CVE-2026-53803:
    rsync before 3.5.0 contains a symlink following vulnerability that allows local attackers to overwrite
    arbitrary files by placing a symlink at a predictable output path such as --log-file, --write-batch, or
    daemon-mode log and statistics paths. Attackers can exploit rsync's failure to reject symlinks during
    ancillary file writes to redirect output to arbitrary filesystem locations, achieving local privilege
    escalation on installations where rsync runs with elevated privileges such as setuid or privileged daemon
    configurations.

    CVE-2026-70452:
    rsync 3.1.0 before 3.5.0 contains an access control bypass vulnerability that allows remote attackers to
    circumvent hosts deny rules by inducing DNS resolution failures during hostname-based access control
    evaluation. When a DNS lookup for a hostname-based deny rule fails, the daemon skips the rule rather than
    defaulting to a deny decision, enabling attackers who can trigger DNS failures to bypass module-level IP
    access controls and gain unauthorized access to restricted module file trees.

    CVE-2026-70453:
    rsync before 3.5.0contains an algorithmic complexity vulnerability in the hash_search() function that
    allows a remote attacker to cause a denial of service by delivering a carefully constructed file list. A
    sender can exploit the quadratic-time worst-case behavior in hash lookups to exhaust receiver CPU
    resources with a modest number of crafted entries, causing a sustained denial of service.

    CVE-2026-70456:
    rsync 3.0.1 before 3.5.0contains an out-of-bounds write vulnerability in the read_args() function that
    allows a malicious sender to corrupt adjacent heap memory by sending a crafted argument list. When the
    argument count causes the argv allocation to be exactly full, the trailing NULL terminator is written one
    slot beyond the allocation boundary, corrupting adjacent heap memory.

    CVE-2026-70458:
    rsync 3.0.0 before 3.5.0 contains an out-of-bounds write vulnerability that allows attackers to corrupt
    memory by triggering HLINK_BUMP processing on file entries with the FLAG_HLINKED flag set while the hard-
    link preservation option is inactive. Attackers can exploit the missing F_SUM field in the file_struct
    layout to access memory past the end of the allocated structure, corrupting adjacent heap or stack data.

    CVE-2026-70460:
    rsync 2.3.3 before 3.5.0contains a path traversal vulnerability that allows a malicious sender to escape
    the module root by exploiting symlinks within the module file tree when using --partial-dir or --backup-
    dir options. Attackers with write access to place a symlink under the module root, or who can exploit a
    pre-existing trusted symlink, can direct file writes to locations outside the intended module root,
    achieving arbitrary file write relative to the module root parent.

    CVE-2026-70461:
    rsync 3.2.5 before 3.5.0contains a heap out-of-bounds write vulnerability that allows remote
    unauthenticated attackers to write one attacker-controlled byte past the end of a heap allocation by
    supplying a crafted files-from entry. Attackers can trigger the vulnerability against a read-only rsync
    daemon module by providing a files-from entry containing both an interior and trailing backslash, causing
    the add_implied_include() function to under-count the trailing backslash when sizing the destination
    buffer.

    CVE-2026-70463:
    rsync 3.1.0 before 3.5.0contains an authorization bypass in auth users directive parsing. The auth users
    parser uses comma-only tokenization when splitting the user list, which fails to correctly handle entries
    of the form @Group Name where the group name contains a space. The space within the group name causes the
    parser to split the entry at the space boundary, discarding the deny rule associated with the group. An
    authenticated user whose username or group membership would be denied by an @Group Name auth users entry
    can connect to a restricted module because the deny rule is silently discarded during parsing.

    CVE-2026-70464:
    rsync daemon 2.0.0 before 3.5.0contains a denial of service vulnerability that allows unauthenticated
    remote attackers to exhaust daemon connection slots by stalling the handshake process before or after
    module selection without triggering the I/O timeout. Attackers can open many simultaneous connections and
    trickle data at the minimum rate to avoid timeout, or stall entirely before module selection where no
    timeout applies, consuming all available connection slots and denying service to legitimate clients.

Tenable has extracted the preceding description block directly from the Alibaba Cloud Linux security advisory.

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"http://mirrors.aliyun.com/alinux/3/cve/alinux3-sa-20260323.xml");
  script_set_attribute(attribute:"solution", value:
"Update the affected rsync, rsync-daemon and / or rsync-doc packages.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:P");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-53789");
  script_set_attribute(attribute:"cvss4_score_source", value:"CVE-2026-70460");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/08/13");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/10/28");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/10/29");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:rsync");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:rsync-daemon");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:alibabacloud:alibaba_cloud_linux_3:rsync-doc");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:alibabacloud:alibaba_cloud_linux_3");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Alibaba Cloud Linux Local Security Checks");

  script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("ssh_get_info2.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/Alibaba/release", "Host/Alibaba/rpm-list", "Host/cpu");

  exit(0);
}


include('rpm2.inc');

if (!get_kb_item('Host/local_checks_enabled')) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_product = get_kb_item('installed_os/local/SSH/0/product');
if (isnull(os_product) || 'Alibaba Cloud Linux' >!< os_product) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'Alibaba Cloud Linux');
if (! preg(pattern:"^3([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'Alibaba Cloud Linux 3.x', 'Alibaba Cloud Linux ' + os_version);

if (!get_kb_item('Host/Alibaba/rpm-list')) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('aarch64' >!< cpu && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Alibaba Cloud Linux', cpu);

var constraints = [
  {
    'release': '3',
    'pkgs': [
      {'reference':'rsync-3.1.3-28.0.1.al8', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'rsync-3.1.3-28.0.1.al8', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'rsync-daemon-3.1.3-28.0.1.al8', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'},
      {'reference':'rsync-doc-3.1.3-28.0.1.al8', 'rpm_spec_vers_cmp':TRUE, 'epoch':'0'}
    ]
  }
];

var os_release = get_one_kb_item('installed_os/local/SSH/0/release');
var os_sp = get_one_kb_item('Host/*/minor_release');

var flag = 0;
var reference;
var sp;
var _cpu;
var el_string;
var rpm_spec_vers_cmp;
var epoch;
var allowmaj;
var exists_check;
var cves;
foreach var constraint ( constraints ) {
  # Check that the target release is equal to the affected release
  if (!empty_or_null(constraint['release'])){
    if (constraint['release'] != os_release) continue;
  }
  if (!empty_or_null(constraint['sp'])){
    if (constraint['sp'] != os_sp) continue;
  }
  foreach var pkg ( constraint['pkgs'] ) {
    reference = NULL;
    sp = NULL;
    _cpu = NULL;
    el_string = NULL;
    rpm_spec_vers_cmp = NULL;
    epoch = NULL;
    allowmaj = NULL;
    exists_check = NULL;
    cves = NULL;
    if (!empty_or_null(pkg['reference'])) reference = pkg['reference'];
    if (!empty_or_null(pkg['sp'])) sp = pkg['sp'];
    if (!empty_or_null(pkg['cpu'])) _cpu = pkg['cpu'];
    if (!empty_or_null(pkg['el_string'])) el_string = pkg['el_string'];
    if (!empty_or_null(pkg['rpm_spec_vers_cmp'])) rpm_spec_vers_cmp = pkg['rpm_spec_vers_cmp'];
    if (!empty_or_null(pkg['epoch'])) epoch = pkg['epoch'];
    if (!empty_or_null(pkg['allowmaj'])) allowmaj = pkg['allowmaj'];
    if (!empty_or_null(pkg['exists_check'])) exists_check = pkg['exists_check'];
    if (!empty_or_null(pkg['cves'])) cves = pkg['cves'];
    if (reference &&
        ## (no known rpm to check OR known rpm_exists)
        (!exists_check || rpm_exists(rpm:exists_check)) &&
        rpm_check(sp:sp, cpu:_cpu, reference:reference, epoch:epoch, el_string:el_string, rpm_spec_vers_cmp:rpm_spec_vers_cmp, allowmaj:allowmaj, cves:cves)) flag++;
  }
}

if (flag)
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_HOLE,
      extra      : rpm_report_get()
  );
  exit(0);
}
else
{
  var tested = pkg_tests_get();
  if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
  else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'rsync / rsync-daemon / rsync-doc');
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

29 Oct 2026 00:00Current
7.4High risk
Vulners AI Score7.4
CVSS 3.18.1 - 8.2
CVSS 49.2
EPSS0.00629
SSVC
1