Il Cloudbleed sarebbe stato prevenuto se fosse stato usato Rust? So che non è lo stesso di Heartbleed, ma Rust probabilmente avrebbe impedito Heartbleed .
Il Cloudbleed sarebbe stato prevenuto se fosse stato usato Rust? So che non è lo stesso di Heartbleed, ma Rust probabilmente avrebbe impedito Heartbleed .
Tony Arcieri ha risposto il 3/2/17 alle 00:28:
Yes, this was a memory safety vulnerability. Though it arose in generated code (from Ragel), were Ragel generating Rust code, it would not have this vulnerability.
Dalla descrizione dettagliata del bug è visibile, che hanno già utilizzato uno strumento di alto livello per creare codice ma che non hanno usato lo strumento correttamente. Per citare:
The equality check is generated automatically by Ragel and was not part of the code that we wrote. This indicated that we were not using Ragel correctly.
Quindi, Rust avrebbe impedito l'uso improprio di uno strumento di alto livello? Probabilmente no. Ma se lo strumento generasse il codice Rust invece del codice C, allora il sovraccarico del buffer sarebbe stato rilevato? Questo è probabilmente perché proteggere contro i sovraccarichi del buffer è uno degli obiettivi di Rust. Ma dal momento che lo strumento non genera codice Rust non si può dire con certezza come sarà questo codice e se sarebbe stato davvero prevenuto il problema.
Leggi altre domande sui tag memory rust programming