Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 564

JIT Spray

O que é JIT Spray?

JIT SprayTécnica de exploração que abusa dos compiladores JIT para colocar bytes executáveis escolhidos pelo atacante dentro de páginas de memória legitimamente geradas como executáveis.


O JIT spray é uma técnica de exploração de corrupção de memória usada contra runtimes com compiladores Just-In-Time: motores JavaScript como V8, SpiderMonkey e JSC, o CLR do .NET, a JVM, o ActionScript ou o eBPF. O atacante constrói um programa de alto nível cuja saída compilada pelo JIT, vista como bytes brutos, descodifica em instruções nativas desejadas, permitindo introduzir uma carga nas páginas RWX produzidas pelo JIT. Combinado com uma falha de corrupção de memória que sequestra o fluxo de controlo, o atacante salta para os gadgets espalhados, contornando proteções de execução porque a memória está legitimamente marcada como executável. Mitigações modernas incluem constant blinding, regiões de código aleatórias, separação W^X, ASLR e CFI.

Exemplos

  1. 01

    Espalhar muitas multiplicações JavaScript cujas constantes imediatas contêm shellcode.

  2. 02

    Usar o JIT do ActionScript para inserir um NOP sled e shellcode na região JIT do Flash Player.

Perguntas frequentes

O que é JIT Spray?

Técnica de exploração que abusa dos compiladores JIT para colocar bytes executáveis escolhidos pelo atacante dentro de páginas de memória legitimamente geradas como executáveis. Pertence à categoria Segurança de aplicações da cibersegurança.

O que significa JIT Spray?

Técnica de exploração que abusa dos compiladores JIT para colocar bytes executáveis escolhidos pelo atacante dentro de páginas de memória legitimamente geradas como executáveis.

Como funciona JIT Spray?

O JIT spray é uma técnica de exploração de corrupção de memória usada contra runtimes com compiladores Just-In-Time: motores JavaScript como V8, SpiderMonkey e JSC, o CLR do .NET, a JVM, o ActionScript ou o eBPF. O atacante constrói um programa de alto nível cuja saída compilada pelo JIT, vista como bytes brutos, descodifica em instruções nativas desejadas, permitindo introduzir uma carga nas páginas RWX produzidas pelo JIT. Combinado com uma falha de corrupção de memória que sequestra o fluxo de controlo, o atacante salta para os gadgets espalhados, contornando proteções de execução porque a memória está legitimamente marcada como executável. Mitigações modernas incluem constant blinding, regiões de código aleatórias, separação W^X, ASLR e CFI.

Como se defender contra JIT Spray?

As defesas contra JIT Spray costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para JIT Spray?

Nomes alternativos comuns: Spray JIT.

Termos relacionados