Una vulnerabilità di Git consente di eseguire codice malevolo durante l’operazione di clone

Recentemente Git il software open-source creato da Linus Torvalds nel lontano 2005 ha annunciato e fixato immediatamente una nuova e interessante vulnerabilità, descritta nella CVE-2021-21300, pubblicata il 9 Marzo 2021 sul blog ufficiale di Git.
La vulnerabilità è presente in diverse versioni del sistema di version control, precisamente la 2.15 e successive consentendo a un repository appositamente predisposto di eseguire codice malevolo durante la comune operazione di clone .
Va sottolineato come la vulnerabilità colpisca solo gli utenti con file system senza distinzione tra maiuscole e minuscole e che supportano i collegamenti simbolici abusando di alcuni tipi di filtri clean/smudge, come quelli configurati da Git LFS (Git Large File Storage).
I file system in questione sono dunque NTFS, HFS + o APFS, ovvero i predefiniti su Windows e macOS risparmiando così il mondo Linux.

Il modo più efficace per proteggersi da questa vulnerabilità è eseguire l’aggiornamento alla versione 2.30.2, ma se non è possibile aggiornare immediatamente, si possono ridurre i rischi effettuando una delle seguenti operazioni:

  • Disabilitare il supporto per i collegamenti simbolici in Git eseguendo:
    git config --global core.symlinks false
  • Disabilitare il supporto per i filtri, verificando se qualcuno di questi è configurato sul tuo sistema eseguendo:
    git config --show-scope --get-regexp 'filter\..*\.process
  • Evitare la clonazione di archivi non attendibili.

Interessante sottolineare come GitHub stesso non sia vulnerabile a questo attacco, come indicato nel blog post:

GitHub itself is not vulnerable to this attack. We do not store checked out copies of repositories on our servers, except for GitHub Pages, which does not use any clean/smudge filters.

GitHub stesso non è vulnerabile a questo attacco. Non archiviamo copie dei repository sui nostri server, a eccezione di GitHub Pages, che non utilizza filtri clean/smudge.

Detto questo quindi, come sempre in questi casi, vale l’antica regola: TRUST NO ONE!

Interessato al mondo dell'informatica sin da piccolo, mi piace guardare e interessarmi su tutti i suoi aspetti e applicazioni, specialmente se si parla di server e security.
Se c'è qualcosa che non conosco, adoro approfondire e fare tesoro di ciò che imparo.

Tags: , , , ,