Vulnerabilities > CVE-2002-1380 - Local Denial of Service vulnerability in Linux Kernel 2.2 mmap()

047910
CVSS 2.1 - LOW
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
local
low complexity
linux
nessus
exploit available

Summary

Linux kernel 2.2.x allows local users to cause a denial of service (crash) by using the mmap() function with a PROT_READ parameter to access non-readable memory pages through the /proc/pid/mem interface.

Exploit-Db

descriptionLinux Kernel 2.2 mmap() Local Denial of Service Vulnerability. CVE-2002-1380. Dos exploit for linux platform
idEDB-ID:22105
last seen2016-02-02
modified2002-12-17
published2002-12-17
reporterMichal Zalewski
sourcehttps://www.exploit-db.com/download/22105/
titleLinux Kernel 2.2 - mmap Local Denial of Service Vulnerability

Nessus

  • NASL familyMandriva Local Security Checks
    NASL idMANDRAKE_MDKSA-2003-039.NASL
    descriptionA number of vulnerabilities have been found in the Linux 2.2 kernel that have been addressed with the latest 2.2.25 release. A bug in the kernel module loader code could allow a local user to gain root privileges. This is done by a local user using ptrace and attaching to a modprobe process that is spawned if the user triggers the loading of a kernel module. A temporary workaround can be used to defend against this flaw. It is possible to temporarily disable the kmod kernel module loading subsystem in the kernel after all of the required kernel modules have been loaded. Be sure that you do not need to load additional kernel modules after implementing this workaround. To use it, as root execute : echo /no/such/file >/proc/sys/kernel/modprobe To automate this, you may wish to add it as the last line of the /etc/rc.d/rc.local file. You can revert this change by replacing the content
    last seen2020-06-01
    modified2020-06-02
    plugin id14023
    published2004-07-31
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/14023
    titleMandrake Linux Security Advisory : kernel22 (MDKSA-2003:039)
    code
    #%NASL_MIN_LEVEL 80502
    
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from Mandrake Linux Security Advisory MDKSA-2003:039. 
    # The text itself is copyright (C) Mandriva S.A.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(14023);
      script_version ("1.19");
      script_cvs_date("Date: 2019/08/02 13:32:46");
    
      script_cve_id("CVE-2002-1380", "CVE-2003-0001", "CVE-2003-0127");
      script_xref(name:"MDKSA", value:"2003:039");
    
      script_name(english:"Mandrake Linux Security Advisory : kernel22 (MDKSA-2003:039)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Mandrake Linux host is missing one or more security
    updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "A number of vulnerabilities have been found in the Linux 2.2 kernel
    that have been addressed with the latest 2.2.25 release.
    
    A bug in the kernel module loader code could allow a local user to
    gain root privileges. This is done by a local user using ptrace and
    attaching to a modprobe process that is spawned if the user triggers
    the loading of a kernel module.
    
    A temporary workaround can be used to defend against this flaw. It is
    possible to temporarily disable the kmod kernel module loading
    subsystem in the kernel after all of the required kernel modules have
    been loaded. Be sure that you do not need to load additional kernel
    modules after implementing this workaround. To use it, as root 
    execute :
    
    echo /no/such/file >/proc/sys/kernel/modprobe
    
    To automate this, you may wish to add it as the last line of the
    /etc/rc.d/rc.local file. You can revert this change by replacing the
    content '/sbin/modprobe' in the /proc/sys/kernel/modprobe file. The
    root user can still manually load kernel modules with this workaround
    in place.
    
    As well, multiple ethernet device drivers do not pad frames with null
    bytes, which could allow remote attackers to obtain information from
    previous packets or kernel memory by using malformed packets.
    
    Finally, the 2.2 kernel allows local users to cause a crash of the
    host system by using the mmap() function with a PROT_READ parameter to
    access non-readable memory pages through the /proc/pid/mem interface.
    
    All users are encouraged to upgrade to the latest kernel version
    provided.
    
    For instructions on how to upgrade your kernel in Mandrake Linux,
    please refer to :
    
    http://www.mandrakesecure.net/en/kernelupdate.php"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected packages.");
      script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:alsa");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:alsa-source");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-headers");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-pcmcia-cs");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-secure");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-smp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-source");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel22");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel22-smp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:kernel22-source");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:mandriva:linux:reiserfs-utils");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:7.2");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:8.1");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:mandrakesoft:mandrake_linux:8.2");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2003/03/27");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/07/31");
      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:"Mandriva Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/Mandrake/release", "Host/Mandrake/rpm-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Mandrake/release")) audit(AUDIT_OS_NOT, "Mandriva / Mandake Linux");
    if (!get_kb_item("Host/Mandrake/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^(amd64|i[3-6]86|x86_64)$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "Mandriva / Mandrake Linux", cpu);
    
    
    flag = 0;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"alsa-2.2.25_0.5.11-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"alsa-source-2.2.25_0.5.11-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-doc-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-headers-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-pcmcia-cs-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-secure-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-smp-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-source-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"kernel-utils-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK7.2", cpu:"i386", reference:"reiserfs-utils-2.2.25_3.5.29-1.1mdk", yank:"mdk")) flag++;
    
    if (rpm_check(release:"MDK8.1", cpu:"i386", reference:"kernel22-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK8.1", cpu:"i386", reference:"kernel22-smp-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK8.1", cpu:"i386", reference:"kernel22-source-2.2.25-1.1mdk", yank:"mdk")) flag++;
    
    if (rpm_check(release:"MDK8.2", cpu:"i386", reference:"kernel22-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK8.2", cpu:"i386", reference:"kernel22-smp-2.2.25-1.1mdk", yank:"mdk")) flag++;
    if (rpm_check(release:"MDK8.2", cpu:"i386", reference:"kernel22-source-2.2.25-1.1mdk", yank:"mdk")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-336.NASL
    descriptionA number of vulnerabilities have been discovered in the Linux kernel. - CAN-2002-1380: Linux kernel 2.2.x allows local users to cause a denial of service (crash) by using the mmap() function with a PROT_READ parameter to access non-readable memory pages through the /proc/pid/mem interface. - CVE-2002-0429: The iBCS routines in arch/i386/kernel/traps.c for Linux kernels 2.4.18 and earlier on x86 systems allow local users to kill arbitrary processes via a binary compatibility interface (lcall) - CAN-2003-0001: Multiple ethernet Network Interface Card (NIC) device drivers do not pad frames with null bytes, which allows remote attackers to obtain information from previous packets or kernel memory by using malformed packets - CAN-2003-0127: The kernel module loader allows local users to gain root privileges by using ptrace to attach to a child process that is spawned by the kernel - CAN-2003-0244: The route cache implementation in Linux 2.4, and the Netfilter IP conntrack module, allows remote attackers to cause a denial of service (CPU consumption) via packets with forged source addresses that cause a large number of hash table collisions related to the PREROUTING chain - CAN-2003-0246: The ioperm system call in Linux kernel 2.4.20 and earlier does not properly restrict privileges, which allows local users to gain read or write access to certain I/O ports. - CAN-2003-0247: vulnerability in the TTY layer of the Linux kernel 2.4 allows attackers to cause a denial of service (
    last seen2020-06-01
    modified2020-06-02
    plugin id15173
    published2004-09-29
    reporterThis script is Copyright (C) 2004-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/15173
    titleDebian DSA-336-1 : linux-kernel-2.2.20 - several vulnerabilities
    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-336. The text 
    # itself is copyright (C) Software in the Public Interest, Inc.
    #
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
      script_id(15173);
      script_version("1.28");
      script_cvs_date("Date: 2019/08/02 13:32:17");
    
      script_cve_id("CVE-2002-0429", "CVE-2002-1380", "CVE-2003-0001", "CVE-2003-0127", "CVE-2003-0244", "CVE-2003-0246", "CVE-2003-0247", "CVE-2003-0248", "CVE-2003-0364");
      script_bugtraq_id(4259, 6420, 6535, 7112, 7600, 7601, 7791, 7793, 7797);
      script_xref(name:"DSA", value:"336");
    
      script_name(english:"Debian DSA-336-1 : linux-kernel-2.2.20 - several vulnerabilities");
      script_summary(english:"Checks dpkg output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Debian host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "A number of vulnerabilities have been discovered in the Linux kernel.
    
      - CAN-2002-1380: Linux kernel 2.2.x allows local users to
        cause a denial of service (crash) by using the mmap()
        function with a PROT_READ parameter to access
        non-readable memory pages through the /proc/pid/mem
        interface.
      - CVE-2002-0429: The iBCS routines in
        arch/i386/kernel/traps.c for Linux kernels 2.4.18 and
        earlier on x86 systems allow local users to kill
        arbitrary processes via a binary compatibility interface
        (lcall)
    
      - CAN-2003-0001: Multiple ethernet Network Interface Card
        (NIC) device drivers do not pad frames with null bytes,
        which allows remote attackers to obtain information from
        previous packets or kernel memory by using malformed
        packets
    
      - CAN-2003-0127: The kernel module loader allows local
        users to gain root privileges by using ptrace to attach
        to a child process that is spawned by the kernel
    
      - CAN-2003-0244: The route cache implementation in Linux
        2.4, and the Netfilter IP conntrack module, allows
        remote attackers to cause a denial of service (CPU
        consumption) via packets with forged source addresses
        that cause a large number of hash table collisions
        related to the PREROUTING chain
    
      - CAN-2003-0246: The ioperm system call in Linux kernel
        2.4.20 and earlier does not properly restrict
        privileges, which allows local users to gain read or
        write access to certain I/O ports.
    
      - CAN-2003-0247: vulnerability in the TTY layer of the
        Linux kernel 2.4 allows attackers to cause a denial of
        service ('kernel oops')
    
      - CAN-2003-0248: The mxcsr code in Linux kernel 2.4 allows
        attackers to modify CPU state registers via a malformed
        address.
    
      - CAN-2003-0364: The TCP/IP fragment reassembly handling
        in the Linux kernel 2.4 allows remote attackers to cause
        a denial of service (CPU consumption) via certain
        packets that cause a large number of hash table
        collisions
    
    This advisory provides updated 2.2.20 kernel source, and binary kernel
    images for the i386 architecture. Other architectures and kernel
    versions will be covered by separate advisories."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.debian.org/security/2003/dsa-336"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "For the stable distribution (woody) on the i386 architecture, these
    problems have been fixed in kernel-source-2.2.20 version
    2.2.20-5woody2 and kernel-image-i386 version 2.2.20-5woody3.
    
    We recommend that you update your kernel packages.
    
    NOTE: A system reboot will be required immediately after the upgrade
    in order to replace the running kernel. Remember to read carefully and
    follow the instructions given during the kernel upgrade process.
    
    NOTE: These kernels are not binary-compatible with the previous
    version. Any loadable modules will need to be recompiled in order to
    work with the new kernel."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:H/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploited_by_malware", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:kernel-image-2.2.20-i386");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:kernel-source-2.2.20");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2003/06/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/29");
      script_set_attribute(attribute:"vuln_publication_date", value:"2003/06/03");
      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:"3.0", prefix:"kernel-doc-2.2.20", reference:"2.2.20-5woody2")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-headers-2.2.20", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-headers-2.2.20-compact", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-headers-2.2.20-idepci", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-image-2.2.20", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-image-2.2.20-compact", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-image-2.2.20-idepci", reference:"2.2.20-5woody3")) flag++;
    if (deb_check(release:"3.0", prefix:"kernel-source-2.2.20", reference:"2.2.20-5woody2")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:deb_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    

Redhat

advisories
rhsa
idRHSA-2003:088