— Einfach ausgedrückt: Bei der Schwachstelle sieht der Code anders aus, als er bei der Kompilierung tatsächlich ist (:
Der Angriff nutzt Steuerzeichen, die in Kommentaren und Zeichenketten eingebettet sind, um die Zeichen des Quellcodes so umzuordnen, dass sich seine Logik ändert.
Beispiel: Nehmen wir an, der Code sieht so aus:
if (isAdmin) { */ begin admins only */
Durch Ausnutzung dieser Schwachstelle können wir ihn nach der Kompilierung so aussehen lassen:
/* if (isAdmin) { begin admins only */
Hinweis: Die meisten Sprachen sind betroffen, darunter auch Rust in Versionen unter 1.56.0 für rustc.
Gute Quellen zum Lesen:
https://blog.rust-lang.org/2021/11/01/cve-2021-42574.html
https://trojansource.codes/trojan-source.pdf