URL: https://linuxfr.org/users/flagos/journaux/apple-le-ssl-les-goto-et-les-accolades Title: Apple, le SSL les goto et les accolades Authors: flagos Date: 2014年02月23日T10:45:49+01:00 License: CC By-SA Tags: Score: 30 Apple a annonce une faille SSL. Le correctif a été publié pour iOS, il est en cours côté OS X. MacG nous en apprend plus sur cette faille. http://www.macg.co/os-x/2014/02/ssl-une-faille-majeure-dans-ios-et-os-x-80069 La faille se situe au niveau de la vérification de l'identité du correspondant. Le code incriminé est le suivant: static OSStatus SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen) OSStatus err; ... if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail; if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail; goto fail; if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail; ... fail: SSLFreeBuffer(&signedHashes); SSLFreeBuffer(&hashCtx); return err; } On peut voir que les 2 goto a la suite entraine une non vérification de tous les tests qui suivent pour retourner un élément non initiliase. Si l'erreur semble basique, on peut se demander comment elle a pu passer jusqu'à l'utilisateur. Cette faille soulève pas mal de questions: - utilisation du goto - aucune accolade, toujours piegeux dans un code critique - analyse du code mort - vérification fonctionnelle Si tout cela est vrai, cela tend a montrer que de mauvaises pratiques se sont banalisés chez Apple et que le code crade y est accepté.

AltStyle によって変換されたページ (->オリジナル) /