
Dimostrando che SSLVerifySignedServerKeyExchange() è banalmente testabile.
Questo è un piccolo proof-of-concept che estrae la vulnerabile SSLVerifySignedServerKeyExchange() da libsecurity_ssl di Apple per dimostrare che il codice di firma è facilmente testabile come unità in isolamento.
Anche se si è parlato del fatto che questo bug non fosse facilmente testabile, il codice in questione verifica le firme sulla base di semplici precondizioni, ed è facilmente testabile sia per i casi di validazione positivi che negativi; non c'è motivo né scusa per cui non sia stato completamente testato per:
Prova a eseguire i test unitari da solo, e poi semplicemente commenta il 'goto' errato per vedere i test passare:
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
// goto fail;