Georg Bauhaus
2014-02-24 08:21:18 UTC
Auszug aus http://opensource.apple.com/source/Security/Security-55471/libsecurity_ssl/lib/sslKeyExchange.c:
static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
uint8_t *signature, UInt16 signatureLen)
{
...
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)
...
fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}
Die Folge soll eine Sicherheitslücke sein, die Datenkommunikation
im selben WLAN mitlesbar macht. Interessanterweise ist an vergleichbaren
Stellen eine Leerzeile zu sehen. Hätte hier ein verbessertes release
management etwas ändern können, sofern es damit zu tun hat?
(Im neulich diskutierten Beispiel von Hellmut Schellong war so etwas als
mögliche Ursache ins Gespräch gebracht worden.)
static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
uint8_t *signature, UInt16 signatureLen)
{
...
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)
...
fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}
Die Folge soll eine Sicherheitslücke sein, die Datenkommunikation
im selben WLAN mitlesbar macht. Interessanterweise ist an vergleichbaren
Stellen eine Leerzeile zu sehen. Hätte hier ein verbessertes release
management etwas ändern können, sofern es damit zu tun hat?
(Im neulich diskutierten Beispiel von Hellmut Schellong war so etwas als
mögliche Ursache ins Gespräch gebracht worden.)