Vulnerabilities > CVE-2001-0779 - Unspecified vulnerability in SUN Solaris and Sunos

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN
sun
nessus
exploit available

Summary

Buffer overflow in rpc.yppasswdd (yppasswd server) in Solaris 2.6, 7 and 8 allows remote attackers to gain root access via a long username.

Vulnerable Configurations

Part Description Count
OS
Sun
6

Exploit-Db

descriptionOpenServer 5.0.5/5.0.6,HP-UX 10/11,Solaris 2.6/7.0/8 rpc.yppasswdd Buffer Overrun. CVE-2001-0779. Remote exploit for unix platform
idEDB-ID:20879
last seen2016-02-02
modified2001-05-10
published2001-05-10
reportermetaray
sourcehttps://www.exploit-db.com/download/20879/
titleOpenServer 5.0.5/5.0.6,HP-UX 10/11,Solaris 2.6/7.0/8 rpc.yppasswdd Buffer Overrun

Nessus

NASL familyGain a shell remotely
NASL idYPPASSWDD.NASL
descriptionThe remote RPC service 100009 (yppasswdd) is vulnerable to a buffer overflow which allows any user to obtain a root shell on this host.
last seen2020-06-01
modified2020-06-02
plugin id10684
published2001-05-29
reporterThis script is Copyright (C) 2001-2018 Tenable Network Security, Inc.
sourcehttps://www.tenable.com/plugins/nessus/10684
titleSolaris rpc.yppasswdd username Remote Overflow
code
#
# (C) Tenable Network Security, Inc.
#


include("compat.inc");

if (description)
{
 script_id(10684);
 script_version("1.37");
 script_cvs_date("Date: 2018/11/15 20:50:22");
 script_cve_id("CVE-2001-0779");
 script_bugtraq_id(2763);

 script_name(english:"Solaris rpc.yppasswdd username Remote Overflow");
 script_summary(english:"heap overflow through yppasswdd");

 script_set_attribute(attribute:"synopsis", value:
"The remote RPC service has a remote root vulnerability.");
 script_set_attribute(attribute:"description", value:
"The remote RPC service 100009 (yppasswdd) is vulnerable
to a buffer overflow which allows any user to obtain a root
shell on this host.");
 script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2001/May/269");
 script_set_attribute(attribute:"solution", value:
"Disable this service if you don't use it, or contact Sun 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:F/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:"exploit_framework_canvas", value:"true");
 script_set_attribute(attribute:"canvas_package", value:'CANVAS');

 script_set_attribute(attribute:"vuln_publication_date", value:"2001/05/28");
 script_set_attribute(attribute:"plugin_publication_date", value:"2001/05/29");

script_set_attribute(attribute:"plugin_type", value:"remote");
script_end_attributes();


 script_category(ACT_MIXED_ATTACK);
 script_copyright(english:"This script is Copyright (C) 2001-2018 Tenable Network Security, Inc.");
 script_family(english:"Gain a shell remotely");
 script_dependencies("rpc_portmap.nasl");
 script_require_keys("rpc/portmap");
 exit(0);
}

include("misc_func.inc");
include("global_settings.inc");
include("sunrpc_func.inc");

port = get_rpc_port2(program:100009, protocol:IPPROTO_UDP);
if(port)
{
  if(!safe_checks())
  {
  if(get_udp_port_state(port))
  {
   soc = open_sock_udp(port);
   if(soc)
   {
    #
    # We forge a bogus RPC request, with a way too long
    # argument. The remote process will die immediately,
    # and hopefully painlessly.
    #
    crp = crap(796);

    req = raw_string(0x56, 0x6C, 0x9F, 0x6B,
    		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
		     0x00, 0x01, 0x86, 0xA9, 0x00, 0x00, 0x00, 0x01,
		     0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		     0x00, 0x00, 0x03, 0x20, 0x80, 0x1C, 0x40, 0x11
		     ) + crp + raw_string(0x00, 0x00, 0x00, 0x02,
		     0x61, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
		     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
		     0x61, 0x61, 0x61, 0x00, 0x00, 0x00, 0x00, 0x03,
		     0x61, 0x61, 0x61, 0x00, 0x00, 0x00, 0x00, 0x02,
		     0x61, 0x61, 0x00, 0x00);
     send(socket:soc, data:req);
     r = recv(socket:soc, length:4096);
     if(r)
     {
      # if length(r) == 28, then the overflow did succeed. However,
      # I prefer to re-make a call to getrpcport(), that's safer
      # (who knows what exotic yppasswdd can reply ?)
      sleep(1);
      newport = get_rpc_port2(program:100009, protocol:IPPROTO_UDP);
      set_kb_item(name:"rpc/yppasswd/sun_overflow", value:TRUE);
      if(!newport)
       security_hole(port:port, protocol:"udp");
     }
     close(soc);
   }
  }
 }
 else
 {
  if ( report_paranoia < 2 )exit(0);
  set_kb_item(name:"rpc/yppasswd/sun_overflow", value:TRUE);
  security_hole(port:port, protocol:"udp", extra:
"Nessus reports this vulnerability using only information that was
gathered. Use caution when testing without safe checks enabled.");
 }
}

Oval

  • accepted2016-02-08T10:00:00.000-05:00
    classvulnerability
    contributors
    nameDavid Proulx
    organizationThe MITRE Corporation
    descriptionBuffer overflow in rpc.yppasswdd (yppasswd server) in Solaris 2.6, 7 and 8 allows remote attackers to gain root access via a long username.
    familyunix
    idoval:org.mitre.oval:def:102
    statusaccepted
    submitted2002-10-17T12:00:00.000-04:00
    titleSolaris 7 rpc.yppasswdd Buffer Overrun Vulnerability
    version35
  • accepted2016-02-08T10:00:00.000-05:00
    classvulnerability
    contributors
    nameDavid Proulx
    organizationThe MITRE Corporation
    descriptionBuffer overflow in rpc.yppasswdd (yppasswd server) in Solaris 2.6, 7 and 8 allows remote attackers to gain root access via a long username.
    familyunix
    idoval:org.mitre.oval:def:56
    statusaccepted
    submitted2002-08-30T12:00:00.000-04:00
    titleSolaris 8 rpc.yppasswdd Buffer Overrun Vulnerability
    version35