Can another extension access memory in use or previously used by another extension?
@Noitdart ha trattato questo - sì.
Can another extension modify the code of another (eg, on disk)?
Anche in questo caso @Noitdart ha parlato di questo, ma nel caso non fosse chiaro, sarebbe possibile modificare il codice di un altro addon senza richiedere un riavvio. Cioè non è richiesto alcun disco per modificare il codice perché l'altro addon ha accesso alla memoria "eseguibile" (interpretabile). Allo stesso modo, un componente dannoso può modificare qualsiasi parte di Firefox a scelta, in fase di esecuzione o tramite modifiche su disco ai file critici.
La principale mitigazione di questo rischio (supponendo che tu non abbia intenzione di ispezionare tutto il codice del componente aggiuntivo) è che in risposta a @georgie, c'è un processo di controllo prima che un addon sia consentito sui componenti aggiuntivi ufficiali sito web.
Ulteriori miglioramenti di sicurezza saranno presto disponibili quando Mozilla inizierà a richiedere la firma digitale di tutti i componenti aggiuntivi prima che Firefox li carichi. Questo non aiuterà contro un attacco mirato, ma darebbe a Mozilla un modo semplice per bloccare l'esecuzione di componenti aggiuntivi / sviluppatori dannosi dopo che alcune persone sfortunate hanno scoperto un comportamento malevolo in un componente aggiuntivo.
Non penso che ci sia il rischio di una sostituzione on-the-wire del codice di un componente aggiuntivo quando proviene da Mozilla perché dovrebbero utilizzare TLS per tutto questo, ma non ho personalmente controllato il loro sistema di consegna codice. Anche in questo caso, l'uso delle firme digitali aiuterà a proteggere dagli attacchi relativi alla modifica dannosa di un codice add-on durante lo storage o il delivery remoto.
Le altre domande sono un po 'meno ben definite ma in aggiunta alla spiegazione di @ Noitdart sull'ambito di esecuzione del codice aggiuntivo alcune delle informazioni di seguito potrebbero essere utili.
Normalmente, a JavaScript in una pagina web è impedito l'accesso al browser o al codice di addon / dati direttamente - è il codice remoto quindi non può essere considerato attendibile. Tuttavia, ci sono modi in cui un sito Web può inviare semplici messaggi di dati a un addon se tale addon lo consente. Prima che possa accadere qualcosa di malevolo a livello di sistema, dovrebbe essere programmato nel codice dell'adattatore. Quindi non vi è alcuna interazione strettamente dannosa dalla pagina web (presupponendo che non vi siano problemi di sicurezza nell'add-on o nel codice del browser), ma esiste una possibilità di interazione che un componente aggiuntivo dannoso può utilizzare come trigger per fare qualcosa di male.
Ancora una volta tornando ai commenti precedenti, perché un componente aggiuntivo dannoso può fare tutto ciò che vuole, non richiede alcun Javascript specifico per esistere in un sito web mirato (può semplicemente aggiungere il codice dannoso nel sito ogni volta che lo desidera ).