Una vulnerabilita critica in Gogs, noto servizio Git open source self hosted, permette a qualunque utente autenticato di ottenere remote code execution sul server in specifiche condizioni. Il problema ha una gravita elevata con punteggio CVSS 9.4 e al momento non risulta associato a un identificativo CVE.
Il vettore di attacco sfrutta una injection di argomenti durante una operazione di merge che utilizza la funzione Rebase before merging, trasformando un normale flusso di collaborazione tramite pull request in un potenziale punto di compromissione.
Il meccanismo ruota attorno a git rebase, comando usato per riprodurre una sequenza di commit sopra un branch di base con lo scopo di mantenere una cronologia lineare. Git rebase supporta anche il flag --exec, che consente di eseguire un comando di shell dopo il replay di ogni commit. Un aggressore puo creare una pull request con un nome di branch malevolo in grado di iniettare il flag --exec nel comando git rebase invocato dal server durante il merge con rebase. In questo modo, il server finisce per eseguire comandi arbitrari con i privilegi del processo che gestisce Gogs.
Un aspetto particolarmente rischioso e che non servono privilegi amministrativi ne interazione da parte di altri utenti. Su istanze configurate con impostazioni predefinite, basta registrare un account, creare un repository e abilitare l opzione di rebase merge nelle impostazioni, operazione che richiede un semplice toggle. In scenari alternativi, e sufficiente avere permessi di scrittura su un repository dove il rebase merge e gia attivo. Se la creazione di repository e limitata, l attaccante deve comunque disporre di accesso in scrittura su almeno un progetto con rebase abilitato.
L impatto potenziale include compromissione completa del server, accesso a tutti i repository ospitati, esfiltrazione di credenziali, movimento laterale verso altri sistemi raggiungibili in rete e manomissione del codice. In ambienti multi tenant il rischio si estende a una violazione tra tenant, con possibilita di lettura di repository privati di altri utenti sullo stesso server. La vulnerabilita interessa Windows, Linux e macOS e sono state stimate oltre mille istanze esposte su Internet, numero che potrebbe essere piu alto considerando installazioni dietro VPN o reti interne.
In assenza di patch, le mitigazioni consigliate includono la disabilitazione delle registrazioni, la limitazione della creazione di repository e un audit completo delle impostazioni di rebase merge. Esiste anche un modulo Metasploit che automatizza la catena di exploit su target Linux e Windows, aumentando l urgenza di applicare contromisure operative e di monitorare i log per anomalie.