Vulnerabilities > CVE-2002-1119 - Unspecified vulnerability in Python
Attack vector
UNKNOWN Attack complexity
UNKNOWN Privileges required
UNKNOWN Confidentiality impact
UNKNOWN Integrity impact
UNKNOWN Availability impact
UNKNOWN python
nessus
Summary
os._execvpe from os.py in Python 2.2.1 and earlier creates temporary files with predictable names, which could allow local users to execute arbitrary code via a symlink attack.
Vulnerable Configurations
Nessus
NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2003-048.NASL description An insecure use of a temporary file has been found in Python. Python is an interpreted, interactive, object-oriented programming language. Zack Weinberg discovered that os._execvpe from os.py in Python 2.2.1 and earlier creates temporary files with predictable names. This could allow local users to execute arbitrary code via a symlink attack All users should upgrade to these errata packages which include a patch to python 1.5.2 to correct this issue. last seen 2020-06-01 modified 2020-06-02 plugin id 12362 published 2004-07-06 reporter This script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/12362 title RHEL 2.1 : python (RHSA-2003:048) code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Red Hat Security Advisory RHSA-2003:048. The text # itself is copyright (C) Red Hat, Inc. # include("compat.inc"); if (description) { script_id(12362); script_version ("1.24"); script_cvs_date("Date: 2019/10/25 13:36:10"); script_cve_id("CVE-2002-1119"); script_xref(name:"RHSA", value:"2003:048"); script_name(english:"RHEL 2.1 : python (RHSA-2003:048)"); script_summary(english:"Checks the rpm output for the updated packages"); script_set_attribute( attribute:"synopsis", value:"The remote Red Hat host is missing one or more security updates." ); script_set_attribute( attribute:"description", value: "An insecure use of a temporary file has been found in Python. Python is an interpreted, interactive, object-oriented programming language. Zack Weinberg discovered that os._execvpe from os.py in Python 2.2.1 and earlier creates temporary files with predictable names. This could allow local users to execute arbitrary code via a symlink attack All users should upgrade to these errata packages which include a patch to python 1.5.2 to correct this issue." ); script_set_attribute( attribute:"see_also", value:"https://access.redhat.com/security/cve/cve-2002-1119" ); # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=156556 script_set_attribute( attribute:"see_also", value:"https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=156556" ); script_set_attribute( attribute:"see_also", value:"https://access.redhat.com/errata/RHSA-2003:048" ); script_set_attribute(attribute:"solution", value:"Update the affected packages."); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:python"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:python-devel"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:python-docs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:python-tools"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:redhat:enterprise_linux:tkinter"); script_set_attribute(attribute:"cpe", value:"cpe:/o:redhat:enterprise_linux:2.1"); script_set_attribute(attribute:"vuln_publication_date", value:"2002/10/04"); script_set_attribute(attribute:"patch_publication_date", value:"2003/02/10"); script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/06"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2004-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_family(english:"Red Hat Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/RedHat/release", "Host/RedHat/rpm-list", "Host/cpu"); exit(0); } include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("rpm.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); release = get_kb_item("Host/RedHat/release"); if (isnull(release) || "Red Hat" >!< release) audit(AUDIT_OS_NOT, "Red Hat"); os_ver = pregmatch(pattern: "Red Hat Enterprise Linux.*release ([0-9]+(\.[0-9]+)?)", string:release); if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Red Hat"); os_ver = os_ver[1]; if (! preg(pattern:"^2\.1([^0-9]|$)", string:os_ver)) audit(AUDIT_OS_NOT, "Red Hat 2.1", "Red Hat " + os_ver); if (!get_kb_item("Host/RedHat/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "s390" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Red Hat", cpu); if (cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i386", cpu); yum_updateinfo = get_kb_item("Host/RedHat/yum-updateinfo"); if (!empty_or_null(yum_updateinfo)) { rhsa = "RHSA-2003:048"; yum_report = redhat_generate_yum_updateinfo_report(rhsa:rhsa); if (!empty_or_null(yum_report)) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : yum_report ); exit(0); } else { audit_message = "affected by Red Hat security advisory " + rhsa; audit(AUDIT_OS_NOT, audit_message); } } else { flag = 0; if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"python-1.5.2-43.72")) flag++; if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"python-devel-1.5.2-43.72")) flag++; if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"python-docs-1.5.2-43.72")) flag++; if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"python-tools-1.5.2-43.72")) flag++; if (rpm_check(release:"RHEL2.1", cpu:"i386", reference:"tkinter-1.5.2-43.72")) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : rpm_report_get() + redhat_report_package_caveat() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "python / python-devel / python-docs / python-tools / tkinter"); } }
NASL family Debian Local Security Checks NASL id DEBIAN_DSA-159.NASL description Zack Weinberg discovered an insecure use of a temporary file in os._execvpe from os.py. It uses a predictable name which could lead execution of arbitrary code. last seen 2020-06-01 modified 2020-06-02 plugin id 14996 published 2004-09-29 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/14996 title Debian DSA-159-1 : python - insecure temporary files code #%NASL_MIN_LEVEL 80502 # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from Debian Security Advisory DSA-159. The text # itself is copyright (C) Software in the Public Interest, Inc. # include("compat.inc"); if (description) { script_id(14996); script_version("1.19"); script_cvs_date("Date: 2019/08/02 13:32:17"); script_cve_id("CVE-2002-1119"); script_bugtraq_id(5581); script_xref(name:"DSA", value:"159"); script_name(english:"Debian DSA-159-1 : python - insecure temporary files"); script_summary(english:"Checks dpkg output for the updated package"); script_set_attribute( attribute:"synopsis", value:"The remote Debian host is missing a security-related update." ); script_set_attribute( attribute:"description", value: "Zack Weinberg discovered an insecure use of a temporary file in os._execvpe from os.py. It uses a predictable name which could lead execution of arbitrary code." ); script_set_attribute( attribute:"see_also", value:"http://www.debian.org/security/2002/dsa-159" ); script_set_attribute( attribute:"solution", value: "Upgrade the Python packages immediately. This problem has been fixed in several versions of Python: For the current stable distribution (woody) it has been fixed in version 1.5.2-23.1 of Python 1.5, in version 2.1.3-3.1 of Python 2.1 and in version 2.2.1-4.1 of Python 2.2. For the old stable distribution (potato) this has been fixed in version 1.5.2-10potato12 for Python 1.5. For the unstable distribution (sid) this has been fixed in version 1.5.2-24 of Python 1.5, in version 2.1.3-6a of Python 2.1 and in version 2.2.1-8 of Python 2.2. Python 2.3 is not affected by this problem." ); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available"); script_set_attribute(attribute:"exploit_available", value:"false"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:python"); script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:2.2"); script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0"); script_set_attribute(attribute:"patch_publication_date", value:"2002/08/28"); script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/29"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2004-2019 Tenable Network Security, Inc."); script_family(english:"Debian Local Security Checks"); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/Debian/release", "Host/Debian/dpkg-l"); exit(0); } include("audit.inc"); include("debian_package.inc"); if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED); if (!get_kb_item("Host/Debian/release")) audit(AUDIT_OS_NOT, "Debian"); if (!get_kb_item("Host/Debian/dpkg-l")) audit(AUDIT_PACKAGE_LIST_MISSING); flag = 0; if (deb_check(release:"2.2", prefix:"idle", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-base", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-dev", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-elisp", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-examples", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-gdbm", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-mpz", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-regrtest", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-tk", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"2.2", prefix:"python-zlib", reference:"1.5.2-10potato13")) flag++; if (deb_check(release:"3.0", prefix:"idle", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"idle-python1.5", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"idle-python2.1", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"idle-python2.2", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-dev", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-doc", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-elisp", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-examples", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-gdbm", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-mpz", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-tk", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python-xmlbase", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5-dev", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5-examples", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5-gdbm", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5-mpz", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python1.5-tk", reference:"1.5.2-23.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-dev", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-doc", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-elisp", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-examples", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-gdbm", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-mpz", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-tk", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.1-xmlbase", reference:"2.1.3-3.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-dev", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-doc", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-elisp", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-examples", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-gdbm", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-mpz", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-tk", reference:"2.2.1-4.2")) flag++; if (deb_check(release:"3.0", prefix:"python2.2-xmlbase", reference:"2.2.1-4.2")) flag++; if (flag) { if (report_verbosity > 0) security_warning(port:0, extra:deb_report_get()); else security_warning(0); exit(0); } else audit(AUDIT_HOST_NOT, "affected");
NASL family Mandriva Local Security Checks NASL id MANDRAKE_MDKSA-2002-082.NASL description A vulnerability was discovered in python by Zack Weinberg in the way that the execvpe() method from the os.py module uses a temporary file name. The file is created in an unsafe manner and execvpe() tries to execute it, which can be used by a local attacker to execute arbitrary code with the privilege of the user running the python code that is using this method. Update : The previously released packages for 9.0 had an incorrect dependency on libdb.so.2 instead of libdb.so.3. This update corrects that problem. last seen 2020-06-01 modified 2020-06-02 plugin id 13980 published 2004-07-31 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/13980 title Mandrake Linux Security Advisory : python (MDKSA-2002:082-1)
Redhat
advisories |
|
References
- http://www.debian.org/security/2002/dsa-159
- http://www.securityfocus.com/bid/5581
- http://www.iss.net/security_center/static/10009.php
- http://mail.python.org/pipermail/python-dev/2002-August/027229.html
- http://distro.conectiva.com.br/atualizacoes/?id=a&anuncio=000527
- ftp://ftp.caldera.com/pub/security/OpenLinux/CSSA-2002-045.0.txt
- http://www.linux-mandrake.com/en/security/2002/MDKSA-2002-082.php
- http://www.redhat.com/support/errata/RHSA-2002-202.html
- http://www.redhat.com/support/errata/RHSA-2003-048.html
- http://marc.info/?l=bugtraq&m=104333092200589&w=2