La scorsa settimana Daniel Stenberg, creatore e manutentore di curl, il software open-source più utilizzato al mondo (o che ci va molto vicino), ha raccontato un nuovo record relativo a questo importante progetto: con la pubblicazione della CVE-2024-11053 è stato risolto un bug vecchio di 9039 giorni. In altre parole, un bug vecchio venticinque anni.
Se vi sembra sorprendente (e per il creatore di curl in qualche modo lo è), è interessante notare un altro dato che si colloca in questo contesto: tra le 161 CVE che fino ad oggi sono state riportate l’età media per la risoluzione, che ovviamente quest’ultima innalza, è di 2583 giorni, poco più di sei anni.
Eppure la quantità di test, in special modo su un progetto come curl, è decisamente abbondante: nel solo novembre 2024 c’è stata una media di 9 macchine che in maniera dedicata hanno testato il codice, uniti ai test manuali di tutti i test che fanno parte della community curl.
Ora, nonostante questo, ci sono voluti venticinque anni per risolvere quest’ultimo bug.
La conclusione, quindi, è quella di sempre, citata da Stenberg:
Security is hard. I mean really really hard.
La sicurezza è difficile. Intendo molto, molto difficile.La stessa porta a pensare alla regola base dei bug, quella Linus’s law che cita come con sufficienti occhi, tutti i bug emergono, poiché all’interno di un contesto così ampio come quello raccontato dalla CVE di curl risolta dopo venticinque anni risulta insufficiente.
Ed ecco infatti l’estensione della regola suggerita dall’autore di curl:
Given enough eyeballs and time, all bugs are shallow
Con sufficienti occhi e tempo, tutti i bug emergonoLa chiusura dell’articolo è ancora una volta interessante, e si riferisci al caso di questo specifico bug, che riguarda una vulnerabilità dovuta all’utilizzo di C come linguaggio di programmazione del progetto: se si usasse un linguaggio memory-safe il 50% dei bug critici di curl non esisterebbero, ma qui si arriva alla parte più ironica.
Quando infatti questo bug è stato introdotto, alternative credibili al linguaggio C, semplicemente, non ce n’erano!
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.