轉發教育機構ANA通報平台公告-
轉發行政法人國家資通安全科技中心 資安訊息警訊 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