Una nuova serie di vulnerabilità potrebbero essere sfruttate per iniettare malware ingannando in maniera visiva ma semanticamente possibile alterando la logica definita dal codice sorgente, lasciando in questo modo diverse possibilità di rischi.
Sono definiti attacchi Trojan Source, sfruttando le sottigliezze negli standard di codifica del testo come Unicode per produrre codice sorgente i cui token sono codificati logicamente in un ordine diverso da quello in cui vengono visualizzati, lo hanno riferito hanno i ricercatori dell'Università di Cambridge Nicholas Boucher e Ross Anderson.
Le vulnerabilità , rilevate come CVE-2021-42574 e CVE-2021-42694, interessano i compilatori di tutti i linguaggi di programmazione più diffusi come C, C++, C#, JavaScript, Java, Rust, Go e Python.
I compilatori sono programmi che traducono codice sorgente nelle loro rappresentazioni di livello inferiore come linguaggio assembly.
Fondamentalmente, il problema riguarda l' algoritmo bidirezionale di Unicode e anche le cosiddette sostituzioni bidirezionali.
Semplicemente l'attacco funziona mirando alla codifica dei file del codice sorgente per creare vulnerabilità mirate, piuttosto che introdurre deliberatamente bug logici, inganna il compilatore nell'elaborazione del codice modificando drasticamente il flusso del programma, ad esempio facendo apparire un commento come se fosse codice.
Tutto questo può avere delle pesantissime ripercussioni specialmente se parliamo di software Open Source, in questo modo possono colpire milioni di utenti.
Si ricorda di consultare il disclaimer