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

JIT Spray

Qu'est-ce que JIT Spray ?

JIT SprayTechnique d'exploitation qui abuse des compilateurs JIT pour placer des octets exécutables choisis par l'attaquant dans des pages mémoire générées légitimement comme exécutables.


Le JIT spray est une technique d'exploitation par corruption mémoire visant les runtimes dotés d'un compilateur Just-In-Time : moteurs JavaScript V8, SpiderMonkey, JSC, le CLR .NET, la JVM, ActionScript ou eBPF. L'attaquant rédige un programme haut niveau dont la sortie compilée par le JIT, vue comme des octets bruts, décode en instructions natives ciblées, ce qui permet d'introduire une charge dans les pages RWX produites par le JIT. Combiné à une faille de corruption mémoire qui détourne le flux de contrôle, l'attaquant pivote vers les gadgets « sprayés », contournant les protections d'exécution puisque la mémoire est légitimement exécutable. Les mitigations modernes incluent le constant blinding, la randomisation des régions de code, la séparation W^X, l'ASLR et le CFI.

Exemples

  1. 01

    Sprayer de nombreuses multiplications JavaScript dont les constantes immédiates encodent du shellcode.

  2. 02

    Utiliser le JIT ActionScript pour placer une NOP sled et du shellcode dans la région JIT de Flash Player.

Questions fréquentes

Qu'est-ce que JIT Spray ?

Technique d'exploitation qui abuse des compilateurs JIT pour placer des octets exécutables choisis par l'attaquant dans des pages mémoire générées légitimement comme exécutables. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.

Que signifie JIT Spray ?

Technique d'exploitation qui abuse des compilateurs JIT pour placer des octets exécutables choisis par l'attaquant dans des pages mémoire générées légitimement comme exécutables.

Comment fonctionne JIT Spray ?

Le JIT spray est une technique d'exploitation par corruption mémoire visant les runtimes dotés d'un compilateur Just-In-Time : moteurs JavaScript V8, SpiderMonkey, JSC, le CLR .NET, la JVM, ActionScript ou eBPF. L'attaquant rédige un programme haut niveau dont la sortie compilée par le JIT, vue comme des octets bruts, décode en instructions natives ciblées, ce qui permet d'introduire une charge dans les pages RWX produites par le JIT. Combiné à une faille de corruption mémoire qui détourne le flux de contrôle, l'attaquant pivote vers les gadgets « sprayés », contournant les protections d'exécution puisque la mémoire est légitimement exécutable. Les mitigations modernes incluent le constant blinding, la randomisation des régions de code, la séparation W^X, l'ASLR et le CFI.

Comment se défendre contre JIT Spray ?

Les défenses contre JIT Spray combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de JIT Spray ?

Noms alternatifs courants : Spray JIT.

Termes liés