Drupal Disputed CVE Five Year Tempest - Open Source Security Shortfall?

6

Qualcuno può aggiungere contesto al problema soggetto? A prima vista, mi sembra che questo problema rappresenti una mancanza fondamentale nelle forze che incoraggiano la codifica sicura nello sviluppo open source. È questo il caso e / o questo esempio è comune o un raro carattere anomalo?

Rilevo che CVE-2007-6752 è stato rilasciato il 28 marzo 2012 elencato come sotto esame La vulnerabilità di CSRF ha lo stato:

** DISPUTED ** Cross-site request forgery (CSRF) vulnerability in Drupal 7.12 and earlier allows remote attackers to hijack the authentication of arbitrary users for requests that end a session via the user/logout URI. NOTE: the vendor disputes the significance of this issue, by considering the "security benefit against platform complexity and performance impact" and concluding that a change to the logout behavior is not planned because "for most sites it is not worth the trade-off."

Nel tentativo di farmi capire che il CVE risale al 2007, ho scoperto che Red Hat ha un bug correlato link sottolineando che non esiste una correzione a monte e "Eek. Che tempesta ... "Quella voce condivide un link a cinque anni di finestre di bug all'interno di Drupal link che suggerisce che il commento di Eek è più appropriato.

Qualcuno mi può illuminare sul pensiero alla base della compromissione della complessità di Drupal in risposta a una vulnerabilità CSRF apparentemente riconosciuta? È solo un semplice caso di limitazione "Non puoi arrivare da qui" in un popolare prodotto open source? Importa o è solo una questione banale che sto fraintendendo?

    
posta zedman9991 29.03.2012 - 17:00
fonte

2 risposte

7

Per quanto posso dire, si tratta di una segnalazione di bug falsi. Penso che il team Drupal abbia il 100% del diritto di licenziare e contestare questo "bug report". Nessuna delle presunte "vulnerabilità" mi sembra vulnerabilità. Solo affermare che qualcosa è una vulnerabilità non significa necessariamente renderlo tale.

Il giornalista adduce una serie di problemi:

  1. Allegation: se l'attaccante apprende il token CSRF, può sconfiggere la difesa CSRF. Bene, duh. È così che funzionano i token CSRF. Non è una vulnerabilità. Quando utilizziamo i token CSRF, progettiamo il sistema per evitare di rivelare il token all'attaccante. Se il reporter ha trovato un modo in cui un utente malintenzionato potrebbe apprendere il token CSRF, potremmo discuterne, ma così com'è, il reporter non ha nulla.

  2. Allegagione: il metodo di logout non è protetto da un token CSRF, quindi un utente malintenzionato potrebbe registrare un amministratore. Questo reclamo non sembra essere contestato sui fatti, quindi lo farò supponiamo sia corretto Tuttavia, non vi sono evidenti conseguenze per la sicurezza o il pericolo di essere in grado di disconnettere forzatamente un amministratore. Esistono anche altri modi per disconnettere forzatamente un utente, in ogni applicazione Web mai creata, ad esempio, superando i limiti di capacità sul browser cookie jar .

  3. Allegation: Drupal non controlla costantemente l'intestazione del referer su tutte le richieste. Questo non è un difetto di sicurezza. L'intestazione Referer non deve essere utilizzata a fini di sicurezza, in quanto gli autori di attacchi possono falsificarla o forzarla per ometterla. Il giornalista non sostiene alcun danno causato da questa proprietà di Drupal.

  4. Allegazione: Drupal non distingue i metodi POST e GET. Questo è probabilmente un caso di scarsa pratica di implementazione, ma non vi sono conseguenze sulla sicurezza identificate dal reporter e nessun danno evidente.

Vedi anche la risposta ufficiale del gruppo Drupal .

Fondamentalmente, penso che il rapporto originale dovrebbe essere ignorato e trattato come non valido, per non attribuire una vulnerabilità di sicurezza valida. Non vedo alcun deficit, fondamentale o meno, nella sicurezza dell'open source. In realtà, penso che sia merito del merito della squadra di Drupal quanto attentamente abbiano risposto alle accuse.

    
risposta data 29.03.2012 - 21:21
fonte
3

La sicurezza è sempre un compromesso. Per aumentare la sicurezza, di solito devi sacrificare convenienza, prestazioni o altri costi. In questo caso, il team di Drupal sta sostenendo che il vantaggio di sicurezza incrementale è così irrilevante da non giustificare il costo di implementazione.

Dalla lettura del rapporto sull'exploit, sembra che ci siano alcuni "exploit" segnalati. Uno indica che se una persona attacca da una posizione man-in-the-middle o da un processo sul proprio computer della vittima, può sfruttare quella posizione per eseguire un attacco XSRF. Si può sostenere che un tale attaccante deve avere così tanto accesso per montare un attacco del genere che non sta guadagnando nulla che non ha già.

Un altro attacco elencato dice che l'attaccante può creare un modulo di disconnessione che, se inviato dalla vittima, disconnetterà la vittima. Il team drupal sostiene che, poiché la vittima in realtà deve compilare un modulo di disconnessione (che richiede un'azione deliberata) e perché il "carico utile" dell'attacco è semplicemente disconnettere la vittima, e poiché la risoluzione di questo problema interromperà la maggior parte dei temi esistenti, quindi il vantaggio di sicurezza ottenuto non garantisce il disordine che avrebbe causato la correzione.

Infine, il report dice che mentre i moduli hanno il controllo XSRF appropriato, l'interfaccia NON esegue il controllo Referrer HTTP su tutti i moduli. E quindi, se l'attaccante fosse in qualche modo in grado di catturare il token XSRF, avrebbe potuto usarlo per montare un attacco XSRF da un altro dominio. Il team drupal sostiene che l'intero punto del token XSRF è quello di prevenire questo tipo di attacco anche senza controlli Referrer. Sostengono che l'aggiunta di un controllo Referrer in realtà non aggiunge più sicurezza, ma che riduce le prestazioni e la compatibilità del browser. Pertanto, sostengono, questo è un non-problema e non vale la pena indirizzarsi.

    
risposta data 29.03.2012 - 17:58
fonte

Leggi altre domande sui tag