Vulnerabilities > CVE-2003-0028
Attack vector
NETWORK Attack complexity
LOW Privileges required
NONE Confidentiality impact
PARTIAL Integrity impact
PARTIAL Availability impact
PARTIAL Summary
Integer overflow in the xdrmem_getbytes() function, and possibly other functions, of XDR (external data representation) libraries derived from SunRPC, including libnsl, libc, glibc, and dietlibc, allows remote attackers to execute arbitrary code via certain integer values in length fields, a different vulnerability than CVE-2002-0391.
Vulnerable Configurations
Nessus
NASL family Debian Local Security Checks NASL id DEBIAN_DSA-266.NASL description Several vulnerabilities have been discovered in krb5, an implementation of MIT Kerberos. - A cryptographic weakness in version 4 of the Kerberos protocol allows an attacker to use a chosen-plaintext attack to impersonate any principal in a realm. Additional cryptographic weaknesses in the krb4 implementation included in the MIT krb5 distribution permit the use of cut-and-paste attacks to fabricate krb4 tickets for unauthorized client principals if triple-DES keys are used to key krb4 services. These attacks can subvert a site last seen 2020-06-01 modified 2020-06-02 plugin id 15103 published 2004-09-29 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/15103 title Debian DSA-266-1 : krb5 - 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-266. The text # itself is copyright (C) Software in the Public Interest, Inc. # include("compat.inc"); if (description) { script_id(15103); script_version("1.22"); script_cvs_date("Date: 2019/08/02 13:32:17"); script_cve_id("CVE-2003-0028", "CVE-2003-0072", "CVE-2003-0082", "CVE-2003-0138", "CVE-2003-0139"); script_xref(name:"CERT", value:"442569"); script_xref(name:"CERT", value:"516825"); script_xref(name:"CERT", value:"623217"); script_xref(name:"DSA", value:"266"); script_name(english:"Debian DSA-266-1 : krb5 - several vulnerabilities"); 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: "Several vulnerabilities have been discovered in krb5, an implementation of MIT Kerberos. - A cryptographic weakness in version 4 of the Kerberos protocol allows an attacker to use a chosen-plaintext attack to impersonate any principal in a realm. Additional cryptographic weaknesses in the krb4 implementation included in the MIT krb5 distribution permit the use of cut-and-paste attacks to fabricate krb4 tickets for unauthorized client principals if triple-DES keys are used to key krb4 services. These attacks can subvert a site's entire Kerberos authentication infrastructure. Kerberos version 5 does not contain this cryptographic vulnerability. Sites are not vulnerable if they have Kerberos v4 completely disabled, including the disabling of any krb5 to krb4 translation services. - The MIT Kerberos 5 implementation includes an RPC library derived from SUNRPC. The implementation contains length checks, that are vulnerable to an integer overflow, which may be exploitable to create denials of service or to gain unauthorized access to sensitive information. - Buffer overrun and underrun problems exist in Kerberos principal name handling in unusual cases, such as names with zero components, names with one empty component, or host-based service principal names with no host name component. This version of the krb5 package changes the default behavior and disallows cross-realm authentication for Kerberos version 4. Because of the fundamental nature of the problem, cross-realm authentication in Kerberos version 4 cannot be made secure and sites should avoid its use. A new option (-X) is provided to the krb5kdc and krb524d commands to re-enable version 4 cross-realm authentication for those sites that must use this functionality but desire the other security fixes." ); script_set_attribute( attribute:"see_also", value:"http://www.debian.org/security/2003/dsa-266" ); script_set_attribute( attribute:"solution", value: "Upgrade the krb5 package. For the stable distribution (woody) this problem has been fixed in version 1.2.4-5woody4. The old stable distribution (potato) does not contain krb5 packages." ); script_set_cvss_base_vector("CVSS2#AV:N/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:debian:debian_linux:krb5"); script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:3.0"); script_set_attribute(attribute:"patch_publication_date", value:"2003/03/24"); script_set_attribute(attribute:"plugin_publication_date", value:"2004/09/29"); script_set_attribute(attribute:"vuln_publication_date", value:"2003/03/19"); 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:"krb5-admin-server", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-clients", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-doc", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-ftpd", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-kdc", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-rsh-server", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-telnetd", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"krb5-user", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"libkadm55", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"libkrb5-dev", reference:"1.2.4-5woody4")) flag++; if (deb_check(release:"3.0", prefix:"libkrb53", reference:"1.2.4-5woody4")) 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");
NASL family RPC NASL id RPC_XDRMEM_BYTES.NASL description The RPC library has an integer overflow in the function xdrmem_getbytes(). An attacker may use this flaw to execute arbitrary code on this host with the privileges your RPC programs are running with (typically root), by sending a specially crafted request to them. Note that this issue affects Solaris, as well as Red Hat Enterprise Linux and Fedora. Nessus used this flaw to crash the portmapper. last seen 2020-06-01 modified 2020-06-02 plugin id 11420 published 2003-03-19 reporter This script is Copyright (C) 2003-2018 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/11420 title Sun RPC XDR xdrmem_getbytes Function Remote Overflow code # # (C) Tenable Network Security, Inc. # # This script was written by Renaud Deraison <[email protected]> # with using rpc_cmsd_overflow.nasl by Xue Yong Zhi <[email protected]> # as a template # # include("compat.inc"); if (description) { script_id(11420); script_version("1.29"); script_cvs_date("Date: 2018/07/27 18:38:14"); script_cve_id("CVE-2003-0028", "CVE-2013-1950"); script_bugtraq_id(7123, 59365); script_xref(name:"CERT-CC", value:"CA-2003-10"); script_xref(name:"EDB-ID", value:"26887"); script_name(english:"Sun RPC XDR xdrmem_getbytes Function Remote Overflow"); script_summary(english:"Checks for the xdrmem_getbytes() overflow"); script_set_attribute(attribute:"synopsis", value:"Arbitrary code may be run on the remote server."); script_set_attribute(attribute:"description", value: "The RPC library has an integer overflow in the function xdrmem_getbytes(). An attacker may use this flaw to execute arbitrary code on this host with the privileges your RPC programs are running with (typically root), by sending a specially crafted request to them. Note that this issue affects Solaris, as well as Red Hat Enterprise Linux and Fedora. Nessus used this flaw to crash the portmapper."); script_set_attribute(attribute:"solution", value:"Contact the vendor for a patch."); 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:POC/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:"vuln_publication_date", value:"2003/03/19"); script_set_attribute(attribute:"plugin_publication_date", value:"2003/03/19"); script_set_attribute(attribute:"potential_vulnerability", value:"true"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_end_attributes(); script_category(ACT_DESTRUCTIVE_ATTACK); script_copyright(english:"This script is Copyright (C) 2003-2018 Tenable Network Security, Inc."); script_family(english:"RPC"); script_dependencie("rpc_portmap.nasl"); script_require_keys("rpc/portmap", "Settings/ParanoidReport"); exit(0); } # # The script code starts here # include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("nfs_func.inc"); if (report_paranoia < 2) audit(AUDIT_PARANOID); function portmap_alive(portmap) { local_var broken, req, soc, r, port; local_var a, b, c, d, p_a, p_b, p_c, p_d, pt_a, pt_b, pt_c, pt_d; local_var program, protocol; program = 100000; protocol = IPPROTO_UDP; a = rand() % 255; b = rand() % 255; c = rand() % 255; d = rand() % 255; p_a = program / 16777216; p_a = p_a % 256; p_b = program / 65356; p_b = p_b % 256; p_c = program / 256; p_c = p_c % 256; p_d = program % 256; pt_a = protocol / 16777216; pt_a = pt_a % 256; pt_b = protocol / 65535 ; pt_b = pt_b % 256; pt_c = protocol / 256; ; pt_c = pt_c % 256; pt_d = protocol % 256; req = raw_string(a, b, c, d, # XID 0x00, 0x00, 0x00, 0x00, # Msg type: call 0x00, 0x00, 0x00, 0x02, # RPC Version 0x00, 0x01, 0x86, 0xA0, # Program 0x00, 0x00, 0x00, 0x02, # Program version 0x00, 0x00, 0x00, 0x03, # Procedure 0x00, 0x00, 0x00, 0x00, # Credentials - flavor 0x00, 0x00, 0x00, 0x00, # Credentials - length 0x00, 0x00, 0x00, 0x00, # Verifier - Flavor 0x00, 0x00, 0x00, 0x00, # Verifier - Length p_a, p_b, p_c, p_d, # Program 0xFF, 0xFF, 0xFF, 0xFF, # Version (any) pt_a, pt_b, pt_c, pt_d, # Proto (udp) 0x00, 0x00, 0x00, 0x00 # Port ); if(isnull(portmap)){ port = int(get_kb_item("rpc/portmap")); if(port == 0)port = 111; } else port = portmap; if (! get_udp_port_state(port)) return 0; broken = get_kb_item(string("/tmp/rpc/noportmap/", port)); if(broken)return(0); soc = open_sock_udp(port); if (!soc) return(0); send(socket:soc, data:req); r = recv(socket:soc, length:1024); close(soc); if(!r)return(0); else return(port); } port = portmap_alive(); if(!port)exit(0); if (!get_udp_port_state(port)) audit(AUDIT_PORT_CLOSED, port, "UDP"); soc = open_sock_udp(port); if (!soc) audit(AUDIT_SOCK_FAIL, port, "UDP"); host = this_host_name(); pad = padsz(len:strlen(host)); len = 20 + strlen(host) + pad; soc = open_sock_udp(port); req = rpclong(val:rand()) + #unsigned int xid; rpclong(val:0) + #msg_type mtype case CALL(0): rpclong(val:2) + #unsigned int rpcvers;/* must be equal to two (2) */ rpclong(val:100000) + #unsigned int prog(protmap); rpclong(val:2) + #unsigned int vers(2); rpclong(val:5) + #unsigned int proc(CALLIT); rpclong(val:1) + #AUTH_UNIX rpclong(val:len) + #len rpclong(val:rand()) + #stamp rpclong(val:strlen(host)) + #length host + #contents(Machine name) rpcpad(pad:pad) + #fill bytes rpclong(val:0) + #uid rpclong(val:0) + #gid rpclong(val:0) + #auxiliary gids rpclong(val:0) + #AUTH_NULL rpclong(val:0) + rpclong(val:100024) + rpclong(val:2) + rpclong(val:4) + raw_string(0xFF, 0xFF, 0xFF, 0xFF) + rpclong(val:0) + rpclong(val:0); send(socket:soc, data:req); r = recv(socket:soc, length:4096); close(soc); alive = portmap_alive(portmap:port); if(!alive)security_hole(port:port, proto:"udp");
NASL family SuSE Local Security Checks NASL id SUSE_SA_2003_027.NASL description The remote host is missing the patch for the advisory SUSE-SA:2003:027 (glibc). Another integer overflow was found in glibc last seen 2020-06-01 modified 2020-06-02 plugin id 13796 published 2004-07-25 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/13796 title SUSE-SA:2003:027: glibc NASL family Mandriva Local Security Checks NASL id MANDRAKE_MDKSA-2003-043.NASL description Multiple vulnerabilties have been found in the Kerberos network authentication system. The MIT Kerberos team have released an advisory detailing these vulnerabilties, a description of which follows. An integer signedness error in the ASN.1 decoder before version 1.2.5 allows remote attackers to cause a crash of the server via a large unsigned data element length, which is later used as a negative value (CVE-2002-0036). Mandrake Linux 9.0+ is not affected by this problem. Vulnerabilties have been found in the RPC library used by the kadmin service. A faulty length check in the RPC library exposes kadmind to an integer overflow which can be used to crash kadmind (CVE-2003-0028). The KDC (Key Distribution Center) before version 1.2.5 allows remote, authenticated attackers to cause a crash on KDCs within the same realm using a certain protocol that causes a null dereference (CVE-2003-0058). Mandrake Linux 9.0+ is not affected by this problem. Users from one realm can impersonate users in other realms that have the same inter-realm keys due to a vulnerability in Kerberos 1.2.3 and earlier (CVE-2003-0059). Mandrake Linux 9.0+ is not affected by this problem. The KDC allows remote, authenticated users to cause a crash on KDCs within the same realm using a certain protocol request that causes an out-of-bounds read of an array (CVE-2003-0072). The KDC allows remote, authenticated users to cause a crash on KDCs within the same realm using a certain protocol request that causes the KDC to corrupt its heap (CVE-2003-0082). Vulnerabilities have been discovered in the Kerberos IV authentication protocol which allow an attacker with knowledge of a cross-realm key, which is shared in another realm, to impersonate a principle in that realm to any service in that realm. This vulnerability can only be closed by disabling cross-realm authentication in Kerberos IV (CVE-2003-0138). Vulnerabilities have been discovered in the support for triple-DES keys in the Kerberos IV authentication protocol which is included in MIT Kerberos (CVE-2003-0139). MandrakeSoft encourages all users to upgrade to these updated packages immediately which contain patches to correct all of the previously noted vulnerabilities. These packages also disable Kerberos IV cross-realm authentication by default. Update : The packages for Mandrake Linux 9.1 and 9.1/PPC were not GPG-signed. This has been fixed and as a result the md5sums have changed. Thanks to Mark Lyda for pointing this out. last seen 2020-06-01 modified 2020-06-02 plugin id 14027 published 2004-07-31 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/14027 title Mandrake Linux Security Advisory : krb5 (MDKSA-2003:043-1) NASL family Mandriva Local Security Checks NASL id MANDRAKE_MDKSA-2003-037.NASL description An integer overflow was discovered by eEye Digital Security in the xdrmem_getbytes() function of glibc 2.3.1 and earlier. This function is part of the XDR encoder/decoder derived from Sun last seen 2020-06-01 modified 2020-06-02 plugin id 14021 published 2004-07-31 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/14021 title Mandrake Linux Security Advisory : glibc (MDKSA-2003:037) NASL family Debian Local Security Checks NASL id DEBIAN_DSA-272.NASL description eEye Digital Security discovered an integer overflow in the xdrmem_getbytes() function of glibc, that is also present in dietlibc, a small libc useful especially for small and embedded systems. This function is part of the XDR encoder/decoder derived from Sun last seen 2020-06-01 modified 2020-06-02 plugin id 15109 published 2004-09-29 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/15109 title Debian DSA-272-1 : dietlibc - integer overflow NASL family Debian Local Security Checks NASL id DEBIAN_DSA-282.NASL description eEye Digital Security discovered an integer overflow in the xdrmem_getbytes() function which is also present in GNU libc. This function is part of the XDR (external data representation) encoder/decoder derived from Sun last seen 2020-06-01 modified 2020-06-02 plugin id 15119 published 2004-09-29 reporter This script is Copyright (C) 2004-2019 Tenable Network Security, Inc. source https://www.tenable.com/plugins/nessus/15119 title Debian DSA-282-1 : glibc - integer overflow NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2003-052.NASL description Updated kerberos packages fix a number of vulnerabilities found in MIT Kerberos. Kerberos is a network authentication system. The MIT Kerberos team released an advisory describing a number of vulnerabilities that affect the kerberos packages shipped by Red Hat. An integer signedness error in the ASN.1 decoder before version 1.2.5 allows remote attackers to cause a denial of service via a large unsigned data element length, which is later used as a negative value. The Common Vulnerabilities and Exposures project has assigned the name CVE-2002-0036 to this issue. The Key Distribution Center (KDC) before version 1.2.5 allows remote, authenticated, attackers to cause a denial of service (crash) on KDCs within the same realm via a certain protocol request that : - causes a NULL pointer dereference (CVE-2003-0058). - causes the KDC to corrupt its heap (CVE-2003-0082). A vulnerability in Kerberos before version 1.2.3 allows users from one realm to impersonate users in other realms that have the same inter-realm keys (CVE-2003-0059). The MIT advisory for these issues also mentions format string vulnerabilities in the logging routines (CVE-2003-0060). Previous versions of the kerberos packages from Red Hat already contain fixes for this issue. Vulnerabilities have been found in the implementation of support for triple-DES keys in the implementation of the Kerberos IV authentication protocol included in MIT Kerberos (CVE-2003-0139). Vulnerabilities have been found in the Kerberos IV authentication protocol which allow an attacker with knowledge of a cross-realm key that is shared with another realm to impersonate any principal in that realm to any service in that realm. This vulnerability can only be closed by disabling cross-realm authentication in Kerberos IV (CVE-2003-0138). Vulnerabilities have been found in the RPC library used by the kadmin service in Kerberos 5. A faulty length check in the RPC library exposes kadmind to an integer overflow which can be used to crash kadmind (CVE-2003-0028). All users of Kerberos are advised to upgrade to these errata packages, which disable cross-realm authentication by default for Kerberos IV and which contain backported patches to correct these issues. last seen 2020-06-01 modified 2020-06-02 plugin id 12364 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/12364 title RHEL 2.1 : krb5 (RHSA-2003:052) NASL family Red Hat Local Security Checks NASL id REDHAT-RHSA-2003-090.NASL description Updated glibc packages are available to fix an integer overflow in the XDR decoder. The glibc package contains standard libraries which are used by multiple programs on the system. Sun RPC is a remote procedure call framework which allows clients to invoke procedures in a server process over a network. XDR is a mechanism for encoding data structures for use with RPC. NFS, NIS, and many other network services are built upon Sun RPC. The XDR encoder/decoder provided with glibc, derived from Sun last seen 2020-06-01 modified 2020-06-02 plugin id 12377 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/12377 title RHEL 2.1 : glibc (RHSA-2003:090)
Oval
accepted | 2007-04-25T19:52:23.324-04:00 | ||||||||||||
class | vulnerability | ||||||||||||
contributors |
| ||||||||||||
description | Integer overflow in the xdrmem_getbytes() function, and possibly other functions, of XDR (external data representation) libraries derived from SunRPC, including libnsl, libc, glibc, and dietlibc, allows remote attackers to execute arbitrary code via certain integer values in length fields, a different vulnerability than CVE-2002-0391. | ||||||||||||
family | unix | ||||||||||||
id | oval:org.mitre.oval:def:230 | ||||||||||||
status | accepted | ||||||||||||
submitted | 2003-08-14T12:00:00.000-04:00 | ||||||||||||
title | xdrmem_bytes() Integer Overflow Vulnerability | ||||||||||||
version | 38 |
Redhat
advisories |
|
References
- ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2003-008.txt.asc
- http://archives.neohapsis.com/archives/vulnwatch/2003-q1/0140.html
- http://marc.info/?l=bugtraq&m=104810574423662&w=2
- http://marc.info/?l=bugtraq&m=104811415301340&w=2
- http://marc.info/?l=bugtraq&m=104860855114117&w=2
- http://marc.info/?l=bugtraq&m=104878237121402&w=2
- http://marc.info/?l=bugtraq&m=105362148313082&w=2
- http://www.cert.org/advisories/CA-2003-10.html
- http://www.debian.org/security/2003/dsa-266
- http://www.debian.org/security/2003/dsa-272
- http://www.debian.org/security/2003/dsa-282
- http://www.eeye.com/html/Research/Advisories/AD20030318.html
- http://www.kb.cert.org/vuls/id/516825
- http://www.linuxsecurity.com/advisories/engarde_advisory-3024.html
- http://www.mandriva.com/security/advisories?name=MDKSA-2003:037
- http://www.novell.com/linux/security/advisories/2003_027_glibc.html
- http://www.redhat.com/support/errata/RHSA-2003-051.html
- http://www.redhat.com/support/errata/RHSA-2003-052.html
- http://www.redhat.com/support/errata/RHSA-2003-089.html
- http://www.redhat.com/support/errata/RHSA-2003-091.html
- http://www.securityfocus.com/archive/1/315638/30/25430/threaded
- http://www.securityfocus.com/archive/1/316931/30/25250/threaded
- http://www.securityfocus.com/archive/1/316960/30/25250/threaded
- https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A230
- https://security.netapp.com/advisory/ntap-20150122-0002/