2016-09-22 59 views
0

我爲剛剛收到客戶的notice一個收到這樣的警告從谷歌Play商店的共享library project貢獻者,谷歌播放警告:SSL錯誤處理程序漏洞有假陽性的WebViewClient.onReceivedSslErrorHandler SSL

Google Play開發者好,7月, 列出的應用程序提交被拒絕,這是因爲WebViewClient.onReceivedSslErrorHandler的不安全實施 。此實施 會忽略所有SSL證書驗證錯誤,使您的應用程序容易受到中間人攻擊。攻擊者可能會更改受影響的WebView內容,讀取傳輸的數據(如登錄 憑據),並使用JavaScript在應用程序內執行代碼。

當尋找到我們AuthorizationWebViewClient延伸WebViewClient,我們沒有實現onReceivedSslErrorHandler,這意味着我們歸入默認實現將在明確這個庫。

如果這是一個誤報,或者如果有必要對這個庫進行更改,我們可以得到確認嗎?

更新: 這是由於當存在此漏洞時使用的SDK的版本要舊得多,因此當前代碼庫不存在此問題,因此斷開連接。

+0

我們實現並超越['onReceivedError(...)'(https://github.com/OfficeDev/msa-auth-for-android/blob/master/src/main/java/com /microsoft/services/msa/AuthorizationRequest.java#L136),但我希望與此警告無關。 –

回答

1

我不確定具體的應用程序是什麼,但有些應用程序具有易受攻擊的com.microsoft.services.msa.AuthorizationRequest $ OAuthDialog $ AuthorizationWebViewClient。

例如,反彙編一個應用程序的代碼表明它實際上有一個onReceivedSslErrorHandler實現。

.method public onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/SslErrorHandler;Landroid/net/http/SslError;)V 
    .registers 4 
    .param p1, "view" # Landroid/webkit/WebView; 
    .param p2, "handler" # Landroid/webkit/SslErrorHandler; 
    .param p3, "error" # Landroid/net/http/SslError; 

    .prologue 
    .line 143 
    invoke-virtual {p2}, Landroid/webkit/SslErrorHandler;->proceed()V 

    .line 144 
    return-void 
.end method 
+0

謝謝,這是一年前發佈的版本,並且它看起來像這個產品還沒有升級他們的版本。花了很長時間才找到這是過去的問題。是否有可能將警告消息中列出的所有模塊版本發送給開發人員以加快發現和解決? –

+0

問題是沒有通用的方法來知道爲什麼給定的代碼包含在應用程序中(無論它是否是sdk的一部分,如果是的話)。另外,每個SDK都有自己的版本控制方案,有些應用程序被混淆。 – Antimony

+0

您可以克服這些技術挑戰,讓恐怖體驗更加平易近人。我相信你們! –