Lucene search
K

EulerOS 2.0 SP12 : sed (EulerOS-SA-2026-2628)

🗓️ 10 Jul 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 2 Views

EulerOS sed race with -i and follow-symlinks enables overwrite; fixed in 4.10.

Related
Refs
Code
ReporterTitlePublishedViews
Family
ATTACKERKB
CVE-2026-5958
20 Apr 202611:59
attackerkb
CBLMariner
CVE-2026-5958 affecting package sed for versions less than 4.9-2
9 May 202603:31
cbl_mariner
Circl
CVE-2026-5958
20 Apr 202603:55
circl
CNNVD
GNU Sed 安全漏洞
20 Apr 202600:00
cnnvd
CVE
CVE-2026-5958
20 Apr 202611:59
cve
Cvelist
CVE-2026-5958 Race Condition in GNU Sed
20 Apr 202611:59
cvelist
Debian CVE
CVE-2026-5958
20 Apr 202611:59
debiancve
Tenable Nessus
EulerOS 2.0 SP12 : sed (EulerOS-SA-2026-2568)
10 Jul 202600:00
nessus
Tenable Nessus
SUSE SLES12 Security Update : sed (SUSE-SU-2026:1699-1)
10 May 202600:00
nessus
Tenable Nessus
SUSE SLED15 / SLES15 Security Update : sed (SUSE-SU-2026:1941-1)
19 May 202600:00
nessus
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

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

  script_cve_id("CVE-2026-5958");
  script_xref(name:"IAVA", value:"2026-A-0404");

  script_name(english:"EulerOS 2.0 SP12 : sed (EulerOS-SA-2026-2628)");

  script_set_attribute(attribute:"synopsis", value:
"The remote EulerOS host is missing a security update.");
  script_set_attribute(attribute:"description", value:
"According to the versions of the sed packages installed, the EulerOS installation on the remote host is affected by the
following vulnerabilities :

    When sed is invoked with both -i (in-place edit) and --follow-symlinks, the function open_next_file()
    performs two separate, non-atomic filesystem operations on the same path: 1. resolves symlink to its
    target and stores the resolved path for determining when output is written, 2. opens the original symlink
    path (not the resolved one) to read the file. Between these two calls there is a race window. If an
    attacker atomically replaces the symlink with a different target during that window, sed will: read
    content from the new (attacker-chosen) symlink target and write the processed result to the path recorded
    in step 1. This can lead to arbitrary file overwrite with attacker-controlled content in the context of
    the sed process. This issue was fixed in version 4.10.(CVE-2026-5958)

Tenable has extracted the preceding description block directly from the EulerOS sed 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://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2026-2628
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?ac96a7ac");
  script_set_attribute(attribute:"solution", value:
"Update the affected sed packages.");
  script_set_cvss_base_vector("CVSS2#AV:L/AC:H/Au:M/C:C/I:C/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:N");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:U");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2026-5958");

  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/04/20");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/07/10");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/07/10");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:sed");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:sed-help");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_set_attribute(attribute:"stig_severity", value:"III");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Huawei 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_info.nasl");
  script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
  script_exclude_keys("Host/EulerOS/uvp_version");

  exit(0);
}

include("rpm.inc");

if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);

var _release = get_kb_item("Host/EulerOS/release");
if (isnull(_release) || _release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
var uvp = get_kb_item("Host/EulerOS/uvp_version");
if (_release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP12");

var sp = get_kb_item("Host/EulerOS/sp");
if (isnull(sp) || sp !~ "^(12)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP12");

if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP12", "EulerOS UVP " + uvp);

if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);

var cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu && "x86" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu);

var flag = 0;

var pkgs = [
  "sed-4.8-5.h5.eulerosv2r12",
  "sed-help-4.8-5.h5.eulerosv2r12"
];

foreach (var pkg in pkgs)
  if (rpm_check(release:"EulerOS-2.0", sp:"12", reference:pkg)) 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, "sed");
}

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

10 Jul 2026 00:00Current
6.2Medium risk
Vulners AI Score6.2
CVSS 42.1
EPSS0.00142
SSVC
2