Nieskończona pętla w Javie
Transkrypt
Nieskończona pętla w Javie
Nieskończona pętla w Javie sobota, 26 lutego 2011 21:03 Oracle ostrzega przed krytyczną luką w Javie (JRE / JDK), która umożliwia napastnikowi wywołanie nieskończonej pętli w aplikacji Javy. Hotfix jest już dostępny na stronach Oracle. Problem wykrył Konstantin Preißer, który zainspirowany problemami z parsowaniem liczby 2.2250738585072011e-308 w PHP odkrył ten sam problem w Javie. Problem dotyczy błędu w funkcji konwersji liczby zmiennoprzecinkowej 2.2250738585072012e-308 do typu double. Próba wykonania parseDouble(?2.2250738585072 012e-308?) powoduje, iż maszyna wirtualna Javy wpada w nieskończoną pętlę, co objawia się 100% utylizacją procesora na serwerze, a z punktu widzenia użytkownika aplikacja ?zawiesza się?. Problem dotyczy następujących wersji Javy: Java SE JDK and JRE 6 Update 23 and earlier for Windows, Solaris, and Linux JDK 5.0 Update 27 and earlier for Solaris 9 SDK 1.4.2_29 and earlier for Solaris 8 Java for Business JDK and JRE 6 Update 23 and earlier for Windows, Solaris and Linux JDK and JRE 5.0 Update 27 and earlier for Windows, Solaris and Linux SDK and JRE 1.4.2_29 and earlier for Windows, Solaris and Linux Problem jest o tyle istotny, gdyż aby wywołać nieskończoną pętlę na serwerach aplikacyjnych korzystających z Javy (Tomcat / JBoss) wystarczy wysłać do nich odpowiednio spreparowane zapytanie HTTP. Dla osób, które nie mogą wykonać szybkiej aktualizacji Javy, można jako środek zaradczy zaproponować użyci modułu apache-a mod_headers z następującą konfiguracją: RequestHeader edit Accept-Language 5073858507 5073858508 early RequestHeader edit Accept-Charset 5073858507 5073858508 early RequestHeader edit Accept-Encoding 5073858507 5073858508 early RequestHeader edit Accept 5073858507 5073858508 early Poprawkę można pobrać: http:// www.oracle.com/technetwork/java/javase/fpupdater-tool-readme-305936.html 1/2 Nieskończona pętla w Javie sobota, 26 lutego 2011 21:03 źródło: cert.pl 2/2