Nexus 安全性公告 - 2015 年 8 月

發布日期:2015 年 8 月 13 日

Google 已根據 Android 安全性公告每月發布程序,透過無線更新機制 (OTA) 發布 Nexus 裝置的安全性更新。此外,Nexus 韌體映像檔也已經發布到 Google Developers 網站。LMY48I 以上版本已解決了這些問題。合作夥伴在 2015 年 6 月 25 日以前就收到有關這些問題的通知。

在這些問題中,最嚴重的就是「最高」等級的安全漏洞。當系統執行媒體檔案時,遠端程式碼可利用這類漏洞,透過電子郵件、網頁瀏覽活動和多媒體訊息等方法,自動在受影響的裝置上執行。嚴重程度評定標準是假設平台與服務的因應防護措施基於開發作業的需求而被停用,或是遭到有心人士破解,然後推算當有人惡意運用漏洞時,裝置會受到多大的影響,據此評定漏洞的嚴重程度。

因應措施

本節概述 Android 安全性平台和 SafetyNet 等服務防護方案提供的因應措施。這些措施可有效防範有心人士在 Android 系統上惡意運用安全漏洞達到特定目的。

  • Android 平台持續推出新版本強化安全性,因此有心人士越來越難 Android 系統上找到可以利用的漏洞。我們建議所有使用者盡可能更新至最新版 Android。
  • Android 安全性團隊採用「驗證應用程式」和 SafetyNet 主動監控濫用情形。如果發現應用程式可能有害,將在安裝前發出警告。Google Play 禁止發布任何可獲取裝置 Root 權限的工具。為了保護在 Google Play 以外安裝應用程式的使用者,驗證應用程式預設會自動啟用並向使用者發出警告,提醒他們留意目前已知的破解程式 (用於取得 Root 權限)。「驗證應用程式」會盡可能找出已知會利用權限提升漏洞的惡意應用程式,並封鎖這類應用程式的安裝程序。如果使用者已安裝這類應用程式,「驗證應用程式」會通知使用者,並嘗試移除應用程式。
  • 在適用情況下,Google 已更新 Hangouts 和 Messenger 應用程式,因此系統不會自動將媒體內容傳送給媒體伺服器這類有安全漏洞的處理程序。

特別銘謝

感謝以下研究人員做出的貢獻:

  • Joshua Drake:CVE-2015-1538、CVE-2015-3826
  • Ben Hawkes:CVE-2015-3836
  • Alexandru Blanda:CVE-2015-3832
  • Michał Bednarski:CVE-2015-3831、CVE-2015-3844、CVE-2015-1541
  • Alex Copot:CVE-2015-1536
  • Alex Eubanks:CVE-2015-0973
  • Roee Hay 和 Or Peles:CVE-2015-3837
  • Guang Gong:CVE-2015-3834
  • Gal Beniamini:CVE-2015-3835
  • Wish Wu*:CVE-2015-3842
  • Artem Chaykin:CVE-2015-3843

*Wish 同時是我們 Android 安全性維護獎的首位得獎者!

MP4 Atom 處理程序中的整數溢位

libstagefright 中有數種可能會在 MP4 Atom 處理期間發生的整數溢位現象,這些現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-1538 ANDROID-20139950 [2] 最高 5.1 以下版本

ESDS 處理程序中的整數反向溢位

libstagefright 中有一種可能會在 ESDS Atom 處理期間發生的整數溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-1539 ANDROID-20139950 最高 5.1 以下版本

剖析 MPEG4 tx3g Atom 時 libstagefright 中所產生的整數溢位

libstagefright 中有一種可能會在 MPEG4 tx3g 資料處理期間發生的整數溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上具有特殊權限的核心驅動程式裝置節點,第三方應用程式一般沒有這項權限。

請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3824 ANDROID-20923261 最高 5.1 以下版本

處理 MPEG4 covr Atom 時 libstagefright 中的整數下溢現象

libstagefright 中有一種可能會在 MPEG4 資料處理期間發生的整數下溢現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上具有特殊權限的核心驅動程式裝置節點,第三方應用程式一般沒有這項權限。

請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3827 ANDROID-20923261 最高 5.1 及以下版本

處理 3GPP 中繼資料時因尺寸小於 6 而導致 libstagefright 中產生整數反向溢位現象

libstagefright 中有一種可能會在 3GPP 資料處理期間發生的整數下溢現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3828 ANDROID-20923261 最高 5.0 及以上版本

libstagefright 處理 MPEG4 covr Atom 時因 chunk_data_size 等於 SIZE_MAX 而 產生整數溢位現象

libstagefright 中有一種可能會在 MPEG4 covr 資料處理期間發生的整數溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3829 ANDROID-20923261 最高 5.0 及以上版本

Sonivox Parse_wave 中的緩衝區溢位

Sonivox 中有一種可能會在 XMF 資料處理期間發生的緩衝區溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。請注意,依據舊版的嚴重程度評定規範,這項漏洞的嚴重程度被評定為「高」,並已據此回報給合作夥伴,但依據我們 2015 年 6 月發佈的新版規範,這項漏洞屬於「最高」等級的問題。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3836 ANDROID-21132860 最高 5.1 及以下版本

libstagefright MPEG4Extractor.cpp 中的緩衝區溢位

Sonivox 中有數種可能會在 MP4 處理期間發生的緩衝區溢位現象,這些現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供,而多個應用程式都允許遠端內容連到這項功能,其中最常見的內容是多媒體訊息和瀏覽器中播放的媒體。

由於這個問題可能會導致系統將遠端執行的程式碼當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「最高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上具有特殊權限的核心驅動程式裝置節點,第三方應用程式一般沒有這項權限。

這個問題起初通報為本機漏洞 (無法透過遠端存取)。請注意,依據舊版的嚴重程度評定規範,這個安全漏洞的嚴重程度評定為「中」,我們也已將這項資訊通報給合作夥伴。不過,依據我們在 2015 年 6 月發布的新版規範,這個安全漏洞的問題嚴重程度屬於「最高」等級。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3832 ANDROID-19641538 最高 5.1 及以下版本

媒體伺服器 BpMediaHTTPConnection 中的緩衝區溢位

在處理其他應用程式所提供的資料時,BpMediaHTTPConnection 可能會發生一種緩衝區溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

受影響的功能是以應用程式 API 形式提供使用。我們認為這個問題無法被遠端程式惡意運用。

由於這個問題可能會導致系統將本機應用程式執行的程式碼,當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3831 ANDROID-19400722 5.0 和 5.1

libpng 中的安全漏洞:png_Read_IDAT_data 溢位

在 libpng 中讀取 png_read_IDAT_data() 函式內的 IDAT 資料時,可能會發生緩衝區溢位的現象。這種現象會造成記憶體毀損,而且攻擊者可能從遠端透過這種方法在應用程式中執行程式碼。

受影響的功能是以應用程式 API 形式提供使用,而多款應用程式 都允許遠端內容連到這項功能,其中最常見的內容是簡訊應用 程式和瀏覽器。

由於這個問題可能會讓遠端程式碼當做未獲授權的應用程式執行,因此嚴重程度評定為「高」。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-0973 ANDROID-19499430 5.1 及以下版本

wpa_supplicant 中 p2p_add_device() 的 memcpy() 溢位可能遭遠端程式惡意運用

當 wpa_supplicant 在 WLAN Direct 模式中運作時,可能會因為 p2p_add_device() 方法中的溢位現象,導致可從遠端執行程式碼的安全漏洞。如果這個漏洞遭到運用,就會讓攻擊者以 Android 中「Wifi」使用者 的身分執行程式碼。

以下幾種情況會減輕攻擊者利用此一漏洞所造成的影響:

- 在多數 Android 裝置上,並未預設啟用 WLAN Direct

- 攻擊者必須在本機附近 (Wi-Fi 範圍內),才能順利運用這個安全漏洞

- wpa_supplicant 程序以「Wifi」使用者的身分執行,但這種身分對系統 的存取權有限

- Android 4.1 以上版本裝置的位址空間配置隨機載入 (ASLR) 機制可防範來自遠端的漏洞攻擊行為

- 在 Android 5.0 及以上版本的 SELinux 政策中,針對 wpa_supplicant 程序 設有嚴格限制

由於這個問題可能會讓遠端程式碼順利執行,因此被評定為「高」的影響程度。儘管「Wifi」服務確實具有第三方應用程式通常無法 存取的功能,所以這個問題的嚴重性有被判定為「最高」的空間, 我們仍然認為這類功能與因應措施足以讓嚴重程度降到「高」。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-1863 ANDROID-20076874 5.1 及以下版本

OpenSSLX509Certificate 反序列化程序中的記憶體出錯

惡意的本機應用程式可以傳送一個意圖 (Intent),在接收的應用程式對此意圖執行 反序列化程序時,可針對任意的記憶體位址值進行減量,這會造成記憶體毀損, 並可能會在接收的應用程式內執行程式碼。

由於這個問題可用於取得第三方應用程式無法存取的權限,因此嚴重程度評定為「高」。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3837 ANDROID-21437603 5.1 及以下版本

媒體伺服器 BnHDCP 中的緩衝區溢位

在處理其他應用程式所提供的資料時,libstagefright 可能會發生一種整數溢位現象,這種現象會造成記憶體 (堆積) 損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

由於這個問題可用於取得第三方應用程式無法存取的權限,因此嚴重程度評定為「高」。儘管媒體伺服器會 受到 SELinux 保護,但它確實能夠存取音訊和視訊串流,以及 在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方 應用程式一般無法存取的權限)。

請注意,依據舊版的嚴重程度評定規範,這項漏洞被評定為 「中」的影響程度,並已據此回報給合作夥伴。但依據 我們 2015 年 6 月發佈的新版規範,這項漏洞卻屬於「高」的嚴重等級。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3834 ANDROID-20222489 5.1 及以下版本

libstagefright OMXNodeInstance::emptyBuffer 中的緩衝區溢位

在處理其他應用程式所提供的資料時,libstagefright 可能會發生一種緩衝區溢位現象,這種現象會造成記憶體損毀,且可能將遠端程式碼執行當做是媒體伺服器處理程序。

由於這個問題可用於取得第三方應用程式無法存取的權限,因此嚴重程度評定為「高」。儘管媒體伺服器會 受到 SELinux 保護,但它確實能夠存取音訊和視訊串流,以及 在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方 應用程式一般無法存取的權限)。

請注意,依據舊版的嚴重程度評定規範,這項漏洞被評定為 「中」的影響程度,並已據此回報給合作夥伴。但依據 我們 2015 年 6 月發佈的新版規範,這項漏洞卻屬於「高」的嚴重等級。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3835 ANDROID-20634516 [2] 5.1 及以下版本

媒體伺服器 AudioPolicyManager::getInputForAttr() 中的堆積溢位

媒體伺服器的「音訊政策服務」中有堆積溢位的現象,這種現象 可讓本機應用程式在媒體伺服器處理程序中任意執行程式碼。

受影響的功能是以應用程式 API 形式提供使用。我們認為這個問題無法被遠端程式惡意運用。

由於這個問題可能會導致系統將本機應用程式執行的程式碼,當做已取得特殊權限的媒體伺服器服務,因此嚴重程度評定為「高」。媒體伺服器就算受到 SELinux 保護,但還是能夠存取音訊和視訊串流,以及在許多裝置上獲得授權的核心驅動程式裝置節點 (這是第三方應用程式一般無法存取的權限)。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3842 ANDROID-21953516 5.1 及以下版本

應用程式可攔截或模擬對電話通訊系統發出 SIM 指令

SIM 工具包 (STK) 架構中的安全漏洞可讓應用程式攔截或模擬對 Android 電話通訊子系統發出的特定 STK SIM 指令。

由於這個問題可讓未獲授權的應用程式存取通常由 「簽署」或「系統」等級權限保護的功能或資料,因此 被評定為「高」的 影響程度。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3843 ANDROID-21697171 [234] 5.1 及以下版本

點陣圖解除封送程序中的安全漏洞

Bitmap_createFromParcel() 中的整數溢位現象,可讓應用程式終止 system_server 程序或從 system_server 讀取記憶體資料。

由於這個問題可能會導致機密資料透過 system_server 程序洩露給未獲授權的本機程序,因此嚴重程度評定為「中」。儘管這類安全漏洞的嚴重程度通常會評定為「高」,但攻擊程序無法控管成功攻擊後外洩的資料,而攻擊失敗時會讓裝置暫時無法使用 (必須重新啟動),因此並未達到「高」的嚴重程度。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-1536 ANDROID-19666945 5.1 及以下版本

AppWidgetServiceImpl 可利用系統權限建立 IntentSender

「設定」應用程式的 AppWidgetServiceImpl 中有一項漏洞,讓應用程式可透過指定 FLAG_GRANT_READ/WRITE_URI_PERMISSION 的方式,授予自身某項 URI 權限。舉例來說,惡意人士會運用這項漏洞讀取聯絡人資料,而不必取得 READ_CONTACTS 權限。

由於這個安全漏洞可讓本機應用程式存取通常由「危險」保護等級權限保護的資料,因此嚴重程度評定為「中」。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-1541 ANDROID-19618745 5.1

規避 getRecentTasks() 相關限制的因應措施

本機應用程式可確實決定前景應用程式,同時 規避 Android 5.0 中推出的 getRecentTasks() 相關限制。

由於這個安全漏洞可讓本機應用程式存取通常由「危險」保護等級權限保護的資料,因此嚴重程度評定為「中」。

我們相信這項漏洞是在以下網頁被首次公開描述:Stack Overflow

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3833 ANDROID-20034603 5.0 和 5.1

ActivityManagerService.getProcessRecordLocked() 可能會將系統 UID 應用程式載入錯誤的程序中

ActivityManager 的 getProcessRecordLocked() 方法並未正確驗證 應用程式的程序名稱是否與對應的套件名稱相符。在某些情況下, 這項漏洞可讓 ActivityManager 針對特定工作載入錯誤的 程序。

這項漏洞的影響包括,應用程式可阻止系統載入「設定」, 或是為「設定」片段注入參數。我們認為這項 漏洞無法被利用來以「系統」使用者的身分任意執行程式碼。

儘管這項漏洞可讓應用程式存取通常只有「系統」可存取的功能, 因而一般會被評定為「高」的影響程度,但由於此漏洞所授予的 存取權等級有限,因此我們仍將它評定為「中」。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3844 ANDROID-21669445 5.1 及以下版本

剖析 3GPP 中繼資料時 libstagefright 中的緩衝區讀取未設界限

在解析 3GPP 資料的過程中發生整數下溢現象,可能會導致讀取作業 越過緩衝區,進而造成媒體伺服器當機。

這個問題原本被評定為「高」的影響程度,並已據此回報給合作夥伴, 但在進一步調查後,嚴重程度已降級至「低」,原因是其影響僅限於 讓媒體伺服器當機。

CVE 錯誤 (附有 Android 開放原始碼計畫連結) 嚴重程度 受影響的版本
CVE-2015-3826 ANDROID-20923261 5.0 和 5.1

修訂版本

  • 2015 年 8 月 13 日:首次發布