Safari 3.2.1 for Windows SafariURL protocol Handler abusse(null Deference)

31 enero 2009 Publicado por cLimbo

Traducción; climbo

##############################################
Safari 3.2.1 for windows safariUrl protocol Handler abusse(null Deference)
Vendedor: http://www.apple.com
Aviso original: http://lostmon.blogspot.com/2009/01/
safari-321-for-windows-safariurl.html
Notificado al vendedor: SÍ Exploit disponible: Privado
##############################################

Este artículo es la segunda parte de:
http://rootdev.blogspot.com/2009/01/safari-for-windows-321-remote-http-uri.html

Safari (Windows) tiene propensas vulnerabilidades a una diferenciación de indicador nula en tratantes de protocolos HTTP, ftp y SafariURL.

Este bug es provocado cuando un usuario clicka un link malformado utilizando URI que causa indicador NULO de referencia en safari, siendo así; esto causará la pérdida de disponibilidad del navegador.

En el caso de SafariURL es muy curioso, porque podemos crear una url malformada: SafariURL://http://../ o ftp://../ y comprobarán que intenta abrirlo con Safari, Safari abre una ventana nueva, tratamos de cerrar esta ventana nueva haciendo click en la “X” y se cierra, pero se reabre nuevamente.

La cuestión ahora es: ¿por qué se abre de nuevo en un bucle infinito? podéis echadle un vistazo al código fuente de la función.

En cualquier lugar del código antes de utilizar un indicador, comprobad que no sea igual a NULL:

######################
Parte del código afectada
######################

CFURLRef safariURL = nil;
OSStatus err = LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(”com.apple.Safari”), nil, nil, &safariURL);if (err != noErr)
displayErrorAndQuit(@”Unable to locate Safari”, @”Nightly builds of WebKit require Safari to run. Please check that it is available and then try again.”);
NSBundle *safariBundle = [NSBundle bundleWithPath:[(NSURL *)safariURL path]];
CFRelease(safariURL);
return safariBundle; }

#######################################

PoC simple; Safari_httpDoSPoC.pl

No sé si tiene la ejecución remota de código o otro tipo, se hicieron varias pruebas, y sólo puede provocar un DoS, no sé si se podría cambiar NSBundle…

Esta cuestión con SafariURL se puede explotar también a través de otros navegadores, simplemente hay que abrir el vínculo anterior expuesto con otros navegadores y ejecutarlo así: safari.exe-url [enlace]

Thnx To estrella to be my ligth
Thnx to all Lostmon Team.


atentamente:
Lostmon (lostmon@gmail.com)
Web-Blog: http://lostmon.blogspot.com/
Google group: http://groups.google.com/group/lostmon (new)

thz Lostmon :-)

  1. cLiMBo soy rayika que hago posteado aki ? jajajajaj vaya paranoya... xD