JavaScript arbeitet als objektorientierte Programmiersprache mit Prototypen und genau das hat sich Manfred Paul für seine Angriffe zu Nutze gemacht:
- Bei CVE-2022-1529 werden nicht vertrauenswürdige Eingaben an den übergeordneten Prozess gesendet, was zu einer doppelten Indizierung von JavaScript-Objekten führen kann. Hierdurch manipuliert der Angreifer den Prototypen und kann eigenen JavaScript-Code in einem privilegierten, übergeordneten Prozess ausführen.
- CVE-2022-1802 beschreibt eine Prototypen-Manipulation in der Top-Level-Await-Implementierung. Wenn es einem Angreifer gelingt, die Methoden eines Array-Objekts in JavaScript durch Prototypen-Manipulation zu korrumpieren, kann der Angreifer eigenen JavaScript-Code in einem privilegierten Kontext ausführen.