【資安】漏洞預警:SwiftMailer存在可讓攻擊者遠端執行任意程式碼之漏洞(CVE-2016-10074),請儘速確認並進行修正。

[內容說明:]
轉發行政法人國家資通安全科技中心 資安訊息警訊 NCCST-ANA-201701-0007

SwiftMailer是一個用於發送電子郵件的PHP物件導向函式庫,強化PHP內建之mail函式功能,提供透過網站介面寄發信件用途,並且廣泛被其他專案使用,例如Yii2、Laravel及Symfony等網頁應用程式框架。

2016/12/30波蘭研究員Dawid Golunski發現5.4.5-DEV版本(含)以前的SwiftMailer,存在未嚴格篩選郵件寄件者特殊字元之問題,導致攻擊者可將惡意郵件寫入網頁程式碼。原因在於SwiftMailer實作支援RFC 3696所設定之特殊格式郵件信箱(郵件帳號以雙引號含括,但其中包含空白字元,例如 email address with spaces@example.com)時,並未嚴格過濾內容,導致攻擊者可在上述郵件帳號中,利用添加反斜線與雙引號(”)方式,達到夾帶更多參數給系統上Sendmail郵件伺服器目的(雙引號開頭與結尾代表一個參數,故透過此方式,以增加更多參數),並藉由額外夾帶之Sendmail參數(包含-X,為Sendmail接受之參數,可將郵件內容寫入檔案),達到將惡意PHP程式內容寫入網頁程式碼,以造成遠端執行程式碼之弱點(弱點編號為CVE-2016-10074)。

[影響平台:]
SwiftMailer 5.4.5-DEV(含)前的版本。

[建議措施:]
請檢視SwiftMailer版本,步驟如下:
1.於硬碟中搜尋SwiftMailer資料夾
2.檢視SwiftMailer根目錄下之VERSION檔案(選用記事本開啟即可)
如所使用之SwiftMailer為5.4.5-DEV(含)前的版本,請儘速至官方網頁(
https://github.com/swiftmailer/swiftmailer)下載並安裝最新版本之SwiftMailer。


[參考資料:]
1.
https://legalhackers.com/advisories/SwiftMailer-Exploit-Remote-Code-Exec-CVE-2016-10074-Vuln.html
2.
https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-10074
3.
https://github.com/swiftmailer/swiftmailer
4.
http://symfony.com/doc/current/email.html
5.
https://github.com/yiisoft/yii2-swiftmailer
6.
https://laravel.com/docs/5.1/mail