Lucene search
+L

Python <= 3.12.1 'RecursionError' Vulnerability - Mac OS X

🗓️ 26 Jun 2023 00:00:00Reported by Copyright (C) 2023 Greenbone AGType 
openvas
 openvas
🔗 plugins.openvas.org👁 31 Views

Python <= 3.12.1 'RecursionError' Vulnerability - Mac OS

Related
Refs
Code
# SPDX-FileCopyrightText: 2023 Greenbone AG
# Some text descriptions might be excerpted from (a) referenced
# source(s), and are Copyright (C) by the respective right holder(s).
#
# SPDX-License-Identifier: GPL-2.0-only

CPE = "cpe:/a:python:python";

if(description)
{
  script_oid("1.3.6.1.4.1.25623.1.0.104815");
  script_version("2024-02-05T14:36:57+0000");
  script_tag(name:"last_modification", value:"2024-02-05 14:36:57 +0000 (Mon, 05 Feb 2024)");
  script_tag(name:"creation_date", value:"2023-06-26 13:02:27 +0000 (Mon, 26 Jun 2023)");
  script_tag(name:"cvss_base", value:"7.8");
  script_tag(name:"cvss_base_vector", value:"AV:N/AC:L/Au:N/C:N/I:N/A:C");
  script_tag(name:"severity_vector", value:"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
  script_tag(name:"severity_origin", value:"NVD");
  script_tag(name:"severity_date", value:"2023-07-06 16:00:00 +0000 (Thu, 06 Jul 2023)");

  script_cve_id("CVE-2023-36632"); # nb: See insight tag on the disputed status.

  script_tag(name:"qod_type", value:"executable_version");

  script_tag(name:"solution_type", value:"WillNotFix");

  script_name("Python <= 3.12.1 'RecursionError' Vulnerability - Mac OS X");

  script_category(ACT_GATHER_INFO);

  script_copyright("Copyright (C) 2023 Greenbone AG");
  script_family("General");
  script_dependencies("gb_python_consolidation.nasl");
  script_mandatory_keys("python/mac-os-x/detected");

  script_tag(name:"summary", value:"Python is prone to a 'RecursionError' vulnerability.");

  script_tag(name:"vuldetect", value:"Checks if a vulnerable version is present on the target host.");

  script_tag(name:"insight", value:"The legacy email.utils.parseaddr function allows attackers to
  trigger 'RecursionError: maximum recursion depth exceeded while calling a Python object' via a
  crafted argument. This argument is plausibly an untrusted value from an application's input data
  that was supposed to contain a name and an e-mail address.

  NOTE: The vendor's perspective is that this is neither a vulnerability nor a bug. The email
  package is intended to have size limits and to throw an exception when limits are exceeded.");

  # nb: As no fix seems to be available yet according to the advisory the current latest available
  # version listed here was taken:
  # https://www.python.org/doc/versions/
  script_tag(name:"affected", value:"The legacy email.utils.parseaddr function in Python through
  3.12.1.");

  script_tag(name:"solution", value:"No known solution was made available for at least one year
  since the disclosure of this vulnerability. Likely none will be provided anymore. General solution
  options are to upgrade to a newer release, disable respective features, remove the product or
  replace the product by another one.

  NOTE: email.utils.parseaddr is categorized as a Legacy API in the documentation of the Python
  email package. Applications should instead use the email.parser.BytesParser or
  email.parser.Parser class.");

  script_xref(name:"URL", value:"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2023-4.json");
  script_xref(name:"URL", value:"https://osv.dev/list?ecosystem=&q=CVE-2023-36632");
  script_xref(name:"URL", value:"https://github.com/github/advisory-database/pull/2722");
  script_xref(name:"URL", value:"https://github.com/python/cpython/issues/103800");

  exit(0);
}

include("host_details.inc");
include("version_func.inc");

if (isnull(port = get_app_port(cpe: CPE)))
  exit(0);

if (!infos = get_app_version_and_location(cpe: CPE, port: port, exit_no_version: TRUE, version_regex:"^[0-9]+\.[0-9]+\.[0-9]+"))
  exit(0);

version = infos["version"];
location = infos["location"];

if (version_is_less_equal(version: version, test_version: "3.12.1")) {
  report = report_fixed_ver(installed_version: version, fixed_version: "None", install_path: location);
  security_message(port: port, data: report);
  exit(0);
}

exit(0);

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

05 Feb 2024 00:00Current
8.7High risk
Vulners AI Score8.7
CVSS 3.17.5
EPSS0.01584
SSVC
31