Mindgard ha reso pubblica il 14 luglio 2026 una vulnerabilità nel popolare IDE Cursor che consente l'esecuzione automatica di codice arbitrario all'apertura di un repository, senza interazione dell'utente. La vulnerabilità è stata scoperta il 15 dicembre 2025 e riportata a Cursor lo stesso giorno: oltre sette mesi dopo, nessuna patch è stata rilasciata e il vendor con valutazione di circa 60 miliardi di dollari ha classificato il report come out of scope per il proprio bug bounty.
- Cursor esegue automaticamente un file git.exe posizionato nella root di un repository, senza avviso o approvazione dell'utente, sfruttando la logica di path resolution che include il workspace stesso tra le location di ricerca dei binari Git.
- Il proof of concept di Mindgard ha usato Windows Calculator rinominato git.exe, eseguito automaticamente all'apertura del repository; Cursor ha ripetutamente avviato il binario durante il normale funzionamento, non solo al caricamento iniziale.
- La vulnerabilità persisteva nella versione 3.2.16 testata il 30 aprile 2026, dopo oltre 197 versioni rilasciate e oltre 70 release senza risposta dalla conferma di HackerOne.
- Cursor ha triangolato e corretto un altro report Git-related da altro ricercatore nella versione 2.5, dimostrando che il processo di remediation funziona selettivamente.
Il meccanismo: untrusted search path in un IDE da milioni di utenti
La vulnerabilità risiede nella logica con cui Cursor risolve il percorso dei binari Git. Secondo la descrizione tecnica fornita da Mindgard, l'IDE cerca i binari in multiple location; una di queste è il workspace stesso, ovvero la directory del repository aperto. Quando un attaccante posiziona un file git.exe malevolo nella root del repository, Cursor lo esegue automaticamente senza prompt o indicazione visiva.
Come ha spiegato Aaron Portnoy di Mindgard: "That is an untrusted-search-path vulnerability (CWE-426/427) in Cursor, not a malicious input the customer chose to trust". La distinzione è rilevante: non si tratta di un utente che consapevolmente esegue codice non verificato, ma di un comportamento automatico dell'IDE che elude il controllo dello sviluppatore.
La prova tecnica è documentata con log di Process Monitor che mostrano la creazione del processo git.exe da parte di Cursor.exe. Il PoC non richiede privilegi elevati né configurazioni particolari: basta aprire il repository compromesso perché l'esecuzione avvenga.
La disclosure: 7 mesi di silenzio e una risposta out of scope
La timeline della disclosure è stata documentata dettagliatamente da Mindgard. Il report iniziale del 15 dicembre 2025 è stato gestito tramite HackerOne, che ha riprodotto e confermato la vulnerabilità. Poi è iniziato un periodo di silenzio che ha attraversato oltre 70 release di Cursor.
Il 13 luglio 2026, poco prima della pubblicazione, Cursor ha risposto che stava "addressing this". Successivamente ha classificato il report come out of scope per il bug bounty. Un portavoce di Cursor ha dichiarato: "After closely reviewing this, our team assessed the report and confirmed it is out of scope for our bug bounty program".
Cursor ha sostenuto che la funzionalità Workplace Trust prevenga l'esecuzione, ma la feature risulta disattivata di default nelle installazioni standard. La fonte non specifica se Workplace Trust attivato blocchi effettivamente questa vulnerabilità specifica: Portnoy ha espresso dubbi in merito, mentre Cursor afferma che la protezione è efficace.
La riprova della capacità selettiva: il fix in 3 giorni per un altro ricercatore
Un elemento che acuisce la critica alla gestione del caso è il confronto con un altro report. Secondo quanto documentato da Mindgard, Cursor ha triangolato e corretto una diversa vulnerabilità Git-related da un altro ricercatore, pubblicando il fix nella versione 2.5. Il timing è significativo: tre giorni prima che Mindgard richiedesse un aggiornamento e non ricevesse risposta.
"Seven months after initial disclosure, we have no indication that users are being protected, that remediation is underway, or that affected organizations have been informed"
Questo dato di cronaca solleva questioni sulla selezione dei report che vengono effettivamente presi in carico. Portnoy ha dichiarato di poter correggere la vulnerabilità "in about five minutes by reverse engineering the one line change they need to make", sottolineando la semplicità tecnica dell'intervento richiesto.
Perché è importante
Il dossier non specifica misure correttive specifiche rilasciate da Cursor. La fonte non documenta exploit in-the-wild della vulnerabilità, né conferma che la falla esista su piattaforme non-Windows: Cursor la definisce "narrowly scoped, affects Windows only", ma nessuna verifica indipendente è citata per confermare o smentire questa limitazione.
Il CVSS score non è stato assegnato da nessuna fonte nel dossier. Non emergono sovrapposizioni infrastrutturali che colleghino questa vulnerabilità ad altri incidenti noti nel settore AI coding tools.
Il brief non specifica se Cursor abbia informato le oltre 50.000 aziende che usano il prodotto, né se abbia pubblicato advisory di sicurezza. Il provvedimento citato non documenta un percorso di comunicazione agli utenti enterprise.
L'impatto potenziale resta concreto: con oltre 7 milioni di utenti attivi e oltre 1 milione di utenti giornalieri, la base di esposizione è ampia. Il meccanismo di attacco è semplice e la barriera all'exploitation bassa: un repository pubblico o condiviso con un file git.exe modificato è sufficiente.
Lettura: il coordinated disclosure al banco di prova
L'episodio si colloca in un momento di intensa competizione nel mercato degli IDE AI-assisted, dove il ritmo di rilascio delle funzionalità spesso sovrasta quello della sicurezza. Cursor, valutato circa 60 miliardi di dollari, ha dimostrato di possedere i canali e la capacità tecnica per triangolare e correggere report su Git. La scelta di non farlo in questo caso specifico, unita alla classificazione out of scope, suggerisce una valutazione del rischio che privilegia altre priorità.
Per le organizzazioni che usano Cursor, il limite del dossier è evidente: non esiste una soluzione documentata dal vendor. Workplace Trust, off by default, non è verificata come mitigazione efficace da fonti indipendenti. La pubblicazione in full disclosure da parte di Mindgard appare come l'unica forma di protezione resa disponibile agli utenti.
Il caso solleva questioni strutturali sul shared responsibility model per strumenti di sviluppo: quando un vendor classifica una vulnerabilità di esecuzione automatica come fuori perimetro, il carico della sicurezza si sposta interamente sullo sviluppatore finale, spesso senza strumenti per gestirlo.
Domande frequenti
È necessario interagire con il repository per attivare l'esecuzione?
No. Secondo la fonte, basta aprire il repository in Cursor perché il file git.exe venga eseguito automaticamente. Il PoC con Windows Calculator è stato attivato semplicemente lanciando Cursor su quella directory.
Qual è la differenza tra questa vulnerabilità e quella segnalata da Knostic?
Sono meccanismi completamente diversi. La vulnerabilità Knostic, citata solo come contesto da una fonte separata, riguarda il furto di credenziali tramite MCP e browser hijacking. Il flaw Mindgard è una untrusted search path che porta a esecuzione arbitraria di codice.
Cursor ha mai riconosciuto questa come vulnerabilità di sicurezza?
Cursor ha confermato il report a HackerOne e inizialmente indicato che stava "addressing this". Successivamente ha classificato il report come out of scope per il bug bounty. Non ha rilasciato advisory di sicurezza né, alla data delle fonti, patch.
Fonti
- https://www.darkreading.com/application-security/cursor-ide-malicious-code-poisoned-repos
- https://www.darkreading.com/vulnerabilities-threats/cursor-issue-credential-stealing-attacks
- https://www.darkreading.com/application-security/ai-coding-tools-endpoint-security
- https://mindgard.ai/blog/cursor-0day-when-full-disclosure-becomes-the-only-protection-left
- https://www.darkreading.com/application-security/belgium-eid-authentication-citizen-accounts-rce
Le informazioni sono basate sulla fonte citata e aggiornate al momento della pubblicazione.