Indice

goto fail;

Con le sue stesse parole:

goto fail diff

Sorgenti: 55179.13.c, 55471.c

Differenze nel codice sorgente tra due versioni consecutive del Security.framework, un componente macOS/iOS. L’apparentemente innocuo goto fail; in più — una riga duplicata senza parentesi graffe attorno al corpo dell’if — faceva sì che la verifica dei certificati SSL/TLS venisse silenziosamente saltata del tutto. Qualsiasi certificato veniva accettato come valido, rendendo ogni connessione HTTPS sui dispositivi affetti vulnerabile ad attacchi man-in-the-middle. Il bug (CVE-2014-1266) colpiva iOS 6/7 e OS X Mavericks, ed è stato patchato in iOS 7.0.6 e OS X 10.9.2. È diventato uno degli esempi più famosi del perché le parentesi graffe contano e del perché la code review trova quello che il compilatore non vede. Vedi l’analisi tecnica di ImperialViolet per tutti i dettagli.