Lucene search
+L

Unity Linux 20.1050a Security Update: kernel (UTSA-2026-098779)

🗓️ 26 Aug 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 5 Views

Data race in Unity Linux 20.1050a kernel bonding 3ad port->aggregator from missing RCU.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(340446);
  script_version("1.2");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/28");

  script_cve_id("CVE-2026-52975");

  script_name(english:"Unity Linux 20.1050a Security Update: kernel (UTSA-2026-098779)");

  script_set_attribute(attribute:"synopsis", value:
"The Unity Linux host is missing one or more security updates.");
  script_set_attribute(attribute:"description", value:
"The Unity Linux 20 host has a package installed that is affected by a vulnerability as referenced in the
UTSA-2026-098779 advisory.

    In the Linux kernel, the following vulnerability has been resolved:

    bonding: 3ad: implement proper RCU rules for port->aggregator

    syzbot found a data-race in bond_3ad_get_active_agg_info /
    bond_3ad_state_machine_handler [1] which hints at lack of proper
    RCU implementation.

    Add __rcu qualifier to port->aggregator, and add proper RCU API.

    [1]

    BUG: KCSAN: data-race in bond_3ad_get_active_agg_info / bond_3ad_state_machine_handler

    write to 0xffff88813cf5c4b0 of 8 bytes by task 36 on cpu 0:
      ad_port_selection_logic drivers/net/bonding/bond_3ad.c:1659 [inline]
      bond_3ad_state_machine_handler+0x9d5/0x2d60 drivers/net/bonding/bond_3ad.c:2569
      process_one_work kernel/workqueue.c:3302 [inline]
      process_scheduled_works+0x4f0/0x9c0 kernel/workqueue.c:3385
      worker_thread+0x58a/0x780 kernel/workqueue.c:3466
      kthread+0x22a/0x280 kernel/kthread.c:436
      ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
      ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

    read to 0xffff88813cf5c4b0 of 8 bytes by task 22063 on cpu 1:
      __bond_3ad_get_active_agg_info drivers/net/bonding/bond_3ad.c:2858 [inline]
      bond_3ad_get_active_agg_info+0x8c/0x230 drivers/net/bonding/bond_3ad.c:2881
      bond_fill_info+0xe0f/0x10f0 drivers/net/bonding/bond_netlink.c:853
      rtnl_link_info_fill net/core/rtnetlink.c:906 [inline]
      rtnl_link_fill+0x1d7/0x4e0 net/core/rtnetlink.c:927
      rtnl_fill_ifinfo+0xf8e/0x1380 net/core/rtnetlink.c:2168
      rtmsg_ifinfo_build_skb+0x11c/0x1b0 net/core/rtnetlink.c:4453
      rtmsg_ifinfo_event net/core/rtnetlink.c:4486 [inline]
      rtmsg_ifinfo+0x6d/0x110 net/core/rtnetlink.c:4495
      __dev_notify_flags+0x76/0x390 net/core/dev.c:9790
      netif_change_flags+0xac/0xd0 net/core/dev.c:9823
      do_setlink+0x905/0x2950 net/core/rtnetlink.c:3180
      rtnl_group_changelink net/core/rtnetlink.c:3813 [inline]
      __rtnl_newlink net/core/rtnetlink.c:3981 [inline]
      rtnl_newlink+0xf55/0x1400 net/core/rtnetlink.c:4109
      rtnetlink_rcv_msg+0x64b/0x720 net/core/rtnetlink.c:6995
      netlink_rcv_skb+0x123/0x220 net/netlink/af_netlink.c:2550
      rtnetlink_rcv+0x1c/0x30 net/core/rtnetlink.c:7022
      netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
      netlink_unicast+0x5a8/0x680 net/netlink/af_netlink.c:1344
      netlink_sendmsg+0x5c8/0x6f0 net/netlink/af_netlink.c:1894
      sock_sendmsg_nosec net/socket.c:787 [inline]
      __sock_sendmsg net/socket.c:802 [inline]
      ____sys_sendmsg+0x563/0x5b0 net/socket.c:2698
      ___sys_sendmsg+0x195/0x1e0 net/socket.c:2752
      __sys_sendmsg net/socket.c:2784 [inline]
      __do_sys_sendmsg net/socket.c:2789 [inline]
      __se_sys_sendmsg net/socket.c:2787 [inline]
      __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2787
      x64_sys_call+0x194c/0x3020 arch/x86/include/generated/asm/syscalls_64.h:47
      do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
      do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
     entry_SYSCALL_64_after_hwframe+0x77/0x7f

    value changed: 0x0000000000000000 -> 0xffff88813cf5c400

    Reported by Kernel Concurrency Sanitizer on:
    CPU: 1 UID: 0 PID: 22063 Comm: syz.0.31122 Tainted: G        W           syzkaller #0 PREEMPT(full)
    Tainted: [W]=WARN
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026

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

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  # https://src.uniontech.com/#/security_advisory_detail?utsa_id=UTSA-2026-098779
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?598c3ede");
  # https://lore.kernel.org/linux-cve-announce/2026062440-CVE-2026-52975-e5ff@gregkh
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?234ed8e9");
  script_set_attribute(attribute:"see_also", value:"https://nvd.nist.gov/vuln/detail/CVE-2026-52975");
  script_set_attribute(attribute:"solution", value:
"Update the affected kernel package.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:S/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-52975");

  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2026/06/22");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/08/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/08/26");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Unity 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/UOS-Server/release", "Host/UOS-Server/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) || 'UOS Server' >!< os_product) audit(AUDIT_OS_NOT, 'UOS Server');
var os_version = get_kb_item('installed_os/local/SSH/0/version');
if (isnull(os_version)) audit(AUDIT_UNKNOWN_APP_VER, 'UOS Server');
if (! preg(pattern:"^(20.1050a)([^0-9]|$)", string:os_version)) audit(AUDIT_OS_NOT, 'UOS Server 20.1050a', 'UOS Server ' + os_version);

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

var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('aarch64' >!< cpu && 'amd64' >!< cpu && 'loongarch64' >!< cpu && 'x86_64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'UOS Server', cpu);


var constraints = [
  {
    'release': '20',
    'sp': '1050a',
    'pkgs': [
      {'reference':'kernel-4.19.0-91.82.132.24.uelc20', 'sp':'1050a', 'cpu':'aarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-4.19.0-91.82.132.24.uelc20', 'sp':'1050a', 'cpu':'amd64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-4.19.0-91.82.132.24.uelc20', 'sp':'1050a', 'cpu':'loongarch64', 'rpm_spec_vers_cmp':TRUE},
      {'reference':'kernel-4.19.0-91.82.132.24.uelc20', 'sp':'1050a', 'cpu':'x86_64', 'rpm_spec_vers_cmp':TRUE}
    ]
  }
];

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_WARNING,
      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, 'kernel');
}

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

28 Aug 2026 00:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.17.8
EPSS0.00139
5