Gogs ha rilasciato la versione 0.14.3 il 7 giugno 2026 per correggere una vulnerabilità zero-day di argument injection con punteggio CVSS 9.4. La falla permette esecuzione remota di codice a un attaccante autenticato tramite pull request con nomi branch malevoli che iniettano il flag --exec nel comando git rebase. La combinazione con la configurazione predefinita — registrazione aperta e nessun limite alla creazione di repository — rende l'attack surface massiccio e immediatamente sfruttabile.
- La vulnerabilità risiede nella funzione
Merge()di Gogs, che passa il nome del branch base di una pull request agit rebasesenza sanificare i delimitatori di argomento. - Un attaccante autenticato, senza privilegi di amministratore, può attivare la rebase merge in un repository di sua proprietà ed eseguire comandi shell arbitrari con i privilegi del processo server.
- La configurazione predefinita di Gogs abilita la registrazione aperta (
DISABLE_REGISTRATION = false) e rimuove ogni limite alla creazione di repository (MAX_CREATION_LIMIT = -1), consentendo a un attaccante non autenticato di registrarsi autonomamente e completare l'exploit chain senza interazione da altri utenti. - Rapid7 ha rilasciato un modulo Metasploit e indicatori di compromissione, abbassando la soglia di accesso all'exploit per threat actor di livello intermedio.
Il meccanismo: quando git rebase esegue comandi arbitrari
Il nucleo della vulnerabilità è un'argument injection nel comando git rebase --exec durante l'operazione "Rebase before merging". La funzione Merge() di Gogs riceve il nome del branch base di una pull request e lo inoltra direttamente a git rebase. L'assenza di sanificazione dei delimitatori di argomento permette a un attaccante di costruire nomi branch contenenti il flag --exec seguito da comandi shell.
Secondo il report tecnico di Rapid7, l'exploit si attiva in tre passaggi: registrazione dell'account, creazione del repository, attivazione della rebase merge tramite un singolo toggle nelle impostazioni. L'intera catena opera senza che altri utenti debbano interagire con la richiesta.
Il risultato, come documentato da Rapid7, è "arbitrary command execution as the Gogs server process user, giving the attacker the ability to compromise the server, read every repository on the instance (including other users' private repos), dump credentials (password hashes, API tokens, SSH keys, 2FA secrets), pivot to other network-accessible systems, and modify any hosted repository's code".
Un pattern ricorrente, non una novità isolata
Questa vulnerabilità non emerge dal vuoto. Il dossier documenta almeno quattro CVE precedenti di argument injection in Gogs, tutte nello stesso componente di parsing di input utente verso comandi git: CVE-2024-39933 (tagging, CVSS 7.7), CVE-2024-39932 (previewing changes, CVSS 9.9), CVE-2026-26194 (deleting release, CVSS 7.3, patchata in 0.14.2), CVE-2024-39930 (built-in SSH server, CVSS 9.9). A queste si aggiunge CVE-2025-8110, precedente zero-day sfruttato in-the-wild e inserito nel catalogo CISA KEV.
La differenza critica, documentata da BleepingComputer, è che la falla attuale colpisce una code path diversa — la funzione Merge() — mai indirizzata dalle patch precedenti. Il pattern è stabile: ogni correzione puntale lascia intatto l'approccio architetturale, e nuovi vettori emergono in aree adiacenti dello stesso flusso di dati.
L'esposizione reale: oltre 2.300 istanze tracciate
La superficie d'attacco è misurabile. Shadowserver traccia oltre 2.300 server Gogs esposti su Internet, con 1.839 installazioni concentrate in Asia e 312 in Europa. Shodan elenca poco più di 1.000 indirizzi IP con fingerprint Gogs. Non è noto il numero esatto di istanze effettivamente vulnerabili tra quelle esposte: la versione, la configurazione e l'applicazione della patch variano per ciascuna installazione.
"Since Gogs ships with open registration enabled by default (DISABLE_REGISTRATION = false) and no limit on repository creation (MAX_CREATION_LIMIT = -1), an unauthenticated attacker can simply create an account and repository on any default-configured instance" — Jonah Burgess, Rapid7
Cosa fare adesso
- Aggiornare immediatamente a Gogs 0.14.3, rilasciato il 7 giugno 2026. Secondo Burgess di Rapid7, "Rapid7 recommends that all Gogs users upgrade immediately. The fix was implemented via pull request #8301".
- Verificare lo stato di
DISABLE_REGISTRATIONeMAX_CREATION_LIMITnella configurazione dell'istanza: la registrazione aperta è il moltiplicatore di impatto che trasforma una falla autenticata in un vettore aperto. - Rivelare i sistemi Gogs interni dalla rete pubblica ove non strettamente necessario, dato che l'exploit richiede solo connettività HTTP/HTTPS standard.
- Controllare la presenza di attività anomale nella funzione di merge con rebase, in particolare pull request da account di recente registrazione con nomi branch non convenzionali.
Perché la catena continua
La timeline della disclosure aggiunge tensione alla lettura. Jonah Burgess di Rapid7 ha segnalato la vulnerabilità a metà marzo 2026. La pubblicazione è avvenuta dopo mancata risposta ai solleciti, con disclosure forzata a distanza di 10 giorni dal rilascio patch. Non è chiaro se i maintainer di Gogs abbiano risposto formalmente prima di questa escalation.
Il dato più preoccupante resta il pattern. Quattro CVE precedenti nello stesso componente, punteggi di severità analoghi, stessa classe di vulnerabilità: argument injection da input utente verso shell git. La domanda che il dossier pone ma non risolve è se il progetto open source disponga delle risorse — umane, temporali, di revisione del codice — per una ristrutturazione sistematica del parsing dei comandi, piuttosto che per correzioni reattive su code path individuali. La 0.14.3 chiude una falla. Non chiude la logica che le genera.
La disponibilità del modulo Metasploit e degli IoC da parte di Rapid7 abbassa la soglia di accesso all'exploit. Il rischio non è più confinato a threat actor avanzati con capacità di reverse engineering proprie.
Fonti
- https://www.bleepingcomputer.com/news/security/gogs-patches-critical-zero-day-enabling-remote-code-execution/
- https://www.securityweek.com/gogs-zero-day-exposes-servers-to-remote-code-execution/
- https://nvd.nist.gov/vuln/detail/CVE-2024-39933
- https://nvd.nist.gov/vuln/detail/CVE-2024-39932
- https://nvd.nist.gov/vuln/detail/CVE-2026-26194
- https://nvd.nist.gov/vuln/detail/CVE-2024-39930
- https://nvd.nist.gov/vuln/detail/CVE-2025-8110
Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.