Lucene search
+L

Linux Distros Unpatched Vulnerability : CVE-2026-47763

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

Linux hosts with package manager pre 2.27 suffer arbitrary file overwrite via symlinks (CVE 2026 47763).

Related
Refs
Code
ReporterTitlePublishedViews
Family
attackerkb
ATTACKERKB
CVE-2026-47763
4 Aug 202617:29
attackerkb
circl
Circl
CVE-2026-47763
21 May 202607:16
circl
cve
CVE
CVE-2026-47763
4 Aug 202617:29
cve
cvelist
Cvelist
CVE-2026-47763 pdm: Project-Local State and Config Writes Follow Symlinks
4 Aug 202617:29
cvelist
debiancve
Debian CVE
CVE-2026-47763
4 Aug 202617:29
debiancve
euvd
EUVD
EUVD-2026-52807
4 Aug 202617:29
euvd
github
Github Security Blog
PDM: Project-Local State and Config Writes Follow Symlinks
10 Jun 202620:32
github
nvd
NVD
CVE-2026-47763
4 Aug 202618:16
nvd
nessus
Tenable Nessus
openSUSE 16 Security Update : python-pdm (openSUSE-SU-2026:21161-1)
1 Jul 202600:00
nessus
opensuse
OPENSUSE Linux
python311-pdm-2.28.0-1.1 on GA media (moderate)
28 Jun 202600:00
opensuse
Rows per page
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(332063);
  script_version("1.1");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/04");

  script_cve_id("CVE-2026-47763");

  script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2026-47763");

  script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
  script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.

  - pdm is a Python package and dependency manager supporting the latest PEP standards. In versions prior to
    2.27.0, pdm writes several project-local state or configuration files without symlink protection. If a
    malicious repository places those files as symlinks, local PDM operations can overwrite the symlink
    targets. This creates an arbitrary file clobber primitive relative to the privileges of the invoking user.
    Config.__init__() resolves the project-local pdm.toml path and _save_config() writes to the resolved
    target. If PROJECT_ROOT/pdm.toml is a symlink to another file, pdm config -l ... updates the target file
    instead of refusing the write. The same general problem exists for other project-local persistence paths
    that are written directly with no lstat / O_NOFOLLOW protection. For the pdm.toml PoC specifically, the
    target file must already contain parseable TOML. Otherwise the load step fails before the write path is
    reached. That parser constraint does not apply to the .pdm-python or .python-version sinks. This issue has
    been fixed in version 2.27.0. (CVE-2026-47763)

Note that Nessus relies on the presence of the package as reported by the vendor.");
  script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2026-47763");
  script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
  script_set_attribute(attribute:"agent", value:"unix");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:U/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:L/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-47763");

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

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

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
  script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
  script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:pdm");
  script_set_attribute(attribute:"generated_plugin", value:"current");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Misc.");

  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", "set_linux_os_id.nasl");
  script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
  script_require_ports("Host/OS/Debian Linux-12", "Host/OS/Debian Linux-13");

  exit(0);
}

if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);

include('linux_unpatched.inc');

var distro_constraints_array = {
  "Debian Linux-12": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "12",
        "pkgs": [
          {"reference": "python3-pdm"}
        ]
      }
    ]
  },
  "Debian Linux-13": {
    "package_manager": "dpkg-l",
    "constraints": [
      {
        "release": "13",
        "pkgs": [
          {"reference": "python3-pdm"}
        ]
      }
    ]
  }
};

var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');

var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
    var third_party_vendors = distro_constraints_values['third_party'];
    if (!empty_or_null(third_party_vendors)) {
        var vendor;
        foreach vendor (third_party_vendors) {
            if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
        }
    }
}

var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);

if (!empty_or_null(report))
{
  security_report_v4(
      port       : 0,
      severity   : SECURITY_WARNING,
      extra      : report
  );
  exit(0);
}
else
{
  audit(AUDIT_HOST_NOT, 'affected');
}

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

04 Aug 2026 00:00Current
5.7Medium risk
Vulners AI Score5.7
CVSS 46.8
EPSS0.00151
SSVC
4