CVE-2024-2887: Un bug gagnant de Pwn2Own dans Google Chrome
Dans ce blog, Manfred Paul, le vainqueur du concours Master of Pwn, détaille CVE-2024-2887, un bug de confusion de type dans Google Chrome et Microsoft Edge (Chromium). Ce bug permet la construction de primitives d'exploitation puissantes, y compris des lectures et des écritures arbitraires, ainsi que les primitives addrOf() et fakeObj(). Ces primitives sont limitées par le bac à sable mémoire V8, mais elles peuvent être utilisées pour manipuler et falsifier la plupart des objets JavaScript.Pour sortir du bac à sable mémoire V8, Paul a exploité une underflow d'entier dans le calcul de la longueur d'un TypedArray lorsqu'il est soutenu par un SharedArrayBuffer évolutive. Cette underflow permet d'accéder à tout l'espace d'adressage 64 bits, qui peut ensuite être utilisé pour écraser des données n'importe où dans l'espace d'adressage du processus. Un cible appropriée pour l'overwrite est le code compilé d'un module WebAssembly, qui réside dans une page RWX et peut être écrasé avec du shellcode.