Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-19478 — Rileva CVE-2026-19478 in GitLab CE/EE con un template Nuclei non distruttivo che attiva l'invocazione del metodo del campo di fallback GraphQL tramite touch e conferma le istanze vulnerabili senza chiamate distruttive. | Kitploit
Strumenti/GitHubGitHub/renzi25031469/cve-2026-19478
Scanner di Vulnerabilità WebAnalisi delle VulnerabilitàSfruttamento di Applicazioni WebTest di Sicurezza delle APIRaccolta InformazioniSicurezza WebPenetration Testing
GitHub
renzi25031469/cve-2026-19478

CVE-2026-19478

Rileva CVE-2026-19478 in GitLab CE/EE con un template Nuclei non distruttivo che attiva l'invocazione del metodo del campo di fallback GraphQL tramite touch e conferma le istanze vulnerabili senza chiamate distruttive.

Vedi Repository
1621 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-19478 — invocazione arbitraria di metodi tramite campo di fallback in GitLab GraphQL — template di rilevamento Nuclei

CVE Severity Nuclei Target License

CVE-2026-19478 — Template Nuclei

Template di rilevamento non distruttivo Nuclei per CVE-2026-19478, una vulnerabilità critica (CVSS 9.4) di invocazione arbitraria di metodi non autenticata nell'API GraphQL di GitLab, corretta da GitLab il 17 agosto 2026.

In breve

Lo schema GraphQL di GitLab supporta una direttiva @gl_introduced(version: "X.Y.Z") che vincola un campo a una versione minima di GitLab. Quando la direttiva fa riferimento a una versione dell'istanza in esecuzione, GitLab genera un per il nome del campo (altrimenti sconosciuto). Questo resolver di fallback chiama direttamente sull'oggetto Ruby sottostante — , e affini — .

più recente
campo di fallback
object.public_send(method_name)
Project
User
senza ricontrollare l'autorizzazione

Il risultato: un attaccante non autenticato che può raggiungere /api/graphql e conosce il fullPath di qualsiasi progetto pubblico (o il nome utente di qualsiasi profilo pubblico) può invocare qualsiasi metodo pubblico senza argomenti su quell'oggetto. Questo include metodi di sola lettura come touch, ma anche metodi distruttivi come destroy / delete, e metodi che mutano lo stato come deactivate / block / ban.

Il template di questo repository chiama solo touch (aggiorna updated_at, restituisce true) — vedi Sicurezza qui sotto.

Versioni interessate

SerieAffetteCorretta
18.2.x – 18.11.x>= 18.2, < 18.11.1118.11.11
19.0.x< 19.0.819.0.8
19.1.x< 19.1.619.1.6
19.2.x< 19.2.419.2.4

Solo GitLab CE/EE self-managed — GitLab.com e GitLab Dedicated non sono stati interessati.

Sicurezza

Questo template è volutamente reso innocuo per la scansione di flotte di server che sei autorizzato a testare:

  • Invoca esclusivamente touch tramite il campo di fallback (un metodo ActiveRecord che si limita ad aggiornare updated_at e restituisce true).
  • Non chiama mai destroy, delete, deactivate, block o ban — tutti raggiungibili tramite lo stesso bug e realmente distruttivi.
  • Il rilevamento è opportunistico: enumera un progetto pubblico tramite l'API REST e, se nessuno è visibile, ripiega sul probing del profilo utente root predefinito. Se nessuno dei due è raggiungibile, riporta semplicemente "non rilevato" anziché fare supposizioni.

Non riutilizzare la query GraphQL di questo template per chiamare metodi di mutazione su sistemi che non possiedi o per i quali non hai un'autorizzazione scritta esplicita a testare.

Come funziona il rilevamento

PassoRichiestaScopo
1GET /api/v4/projects?visibility=publicTrova un progetto pubblico da usare come bersaglio innocuo
2POST /api/graphql — touch @gl_introduced(version: "999.0.0") su quel progettoAttiva il resolver del campo di fallback; un'istanza vulnerabile restituisce "touch": true
3 (fallback)POST /api/graphql — stessa query su user(username: "root")Usato solo se nessun progetto pubblico è stato trovato nel passo 1

Un'istanza corretta rifiuta direttamente il campo sconosciuto ("... doesn't exist on type ..."), quindi il matcher del template richiede il segnale positivo touch e l'assenza di quel messaggio di rifiuto.

Utilizzo

root@kitploit:~
# single target
nuclei -t CVE-2026-19478.yaml -u https://gitlab.example.com

# validate the template itself
nuclei -t CVE-2026-19478.yaml -validate

# a list of targets, JSON output
nuclei -t CVE-2026-19478.yaml -l targets.txt -j -o results.json

Richiede nuclei v3 (questo template utilizza il blocco di protocollo http: e un estrattore json in stile jq introdotti nel motore template v3; non verrà caricato su nuclei v2.x).

Esempio di output

root@kitploit:~
[CVE-2026-19478] [http] [critical] https://gitlab.example.com/api/graphql

Rimedio

Aggiorna a 18.11.11, 19.0.8, 19.1.6 o 19.2.4 (o successive). Consulta le note di rilascio della patch 19.2.4 di GitLab per l'avviso completo.

Riferimenti

  • Note di rilascio della patch 19.2.4 di GitLab
  • The Hacker News — Una vulnerabilità critica di GitLab GraphQL potrebbe consentire ad attaccanti non autenticati di eliminare progetti pubblici
  • Rescana — analisi tecnica di CVE-2026-19478
  • PoC (davkharrr/CVE-2026-19478-PoC)

Esclusione di responsabilità

Questo template è pubblicato per finalità di sicurezza difensiva — scansione di infrastrutture che possiedi o per le quali sei esplicitamente autorizzato a testare. Eseguirlo (o il PoC collegato) contro sistemi senza autorizzazione è illegale nella maggior parte delle giurisdizioni. L'autore non si assume alcuna responsabilità per un uso improprio.

Licenza

MIT

Scarica lo strumento