JornalJava

Sobre Java, o Universo e Tudo Mais

Segurança: Loop Infinito no Java

Posted by LucioCamilo 2 Comments

O título deste artigo deveria ser algo relacionado à bug, porém seria difícil demais para as pessoas acreditarem que teria um bug no Java, portanto, estamos chamaremos apenas de loop infinito espontâneo.

O problema acontece quando se tenta utilizar o menor double possível, o que faz com que o programa entre em loop infinito. O mesmo bugproblema, ocorre no PHP.

Ou seja, sempre que você atribuir à um tipo double o valor 2.2250738585072012e-308 (DBL_MIN) o compilador vai utilizar o Double.parseDouble internamente, fazendo o compilador travar pois entrará em loop infinito.

Exemplos prático:

Derrubar um Programa Java

class DerrubaPrograma {
public static void main(String[] args) {
  System.out.println("Teste:");
  double d = Double.parseDouble("2.2250738585072012e-308");
  System.out.println("Valor: " + d);
 }
}

Derrubar toda JVM

class DerrubaJVM{
public static void main(String[] args) {
  double d = 2.2250738585072012e-308;
  System.out.println("Valor: " + d);
 }
}

Já foi aberto um chamado na Oracle para correção do problema. Esperamos que ninguém mal intencionado utilize este problema para explorar falhas em programas Java.

Este artigo tem finalidade informativa apenas, não nos responsabilizamos e nem recomendamos a utilização da vulnerabilidade apresentada.

Fonte:
http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/

2 Responses so far.

  1. Alex says:

    não entendi esse double 2.2250738585072012e-308
    e-308 ? uma letra?


  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

Popular Posts

Quer Ganhar um Livro

Para aqueles que estão acompanhando o lançamento do SO Android ...

Java x C# - Chega!!!

Estou cansado de ver comparações entre linguagens na internet, e ...

Promoção: Ganhe um

Apesar do Natal já ter passado, o JornalJava continua trazendo ...

A História da Revol

Muito se fala sobre a revolução digital e a criação ...

Mantenha seu Código

Um problema comum em quase todas as profissões que podem ...

Switch to our mobile site