研究人員最近發現, 由于復用了存在安全漏洞的代碼, 安卓的CyanogenMod分支存在著中間人攻擊(MitM)的漏洞, 這個0Day漏洞可能會影響超過1000萬用戶。
這個漏洞可以使得攻擊者攻擊這個操作系統上的任何瀏覽器。 一位不愿具名的研究人員發現,CyanogenMod的開發者和很多其他開發者一樣, 直接把Oracle的Java 1.5中用于解析數字證書來獲取主機名的示例代碼直接拿來使用, 而這段代碼很早就被發現存在Bug。
這位研究人員說:”當我研究CyanogenMod的HTTP組件代碼時,發現這段代碼很眼熟, 我發現開發者直接是把這段存在漏洞的代碼復制粘貼過來的。 而我搜索了一下GitHub, 發現大量的程序員都在使用這段代碼。”
研究人員就這個漏洞試圖與CyanogenMod的開發者聯系,卻遲遲得不到反饋。
這個漏洞在2012年就被披露出來了,而在今年年初, Apache的HTTP庫中也發現了這個SSL不進行主機名驗證的漏洞。
這也就意味著, 黑客可以在SSL證書上使用任意主機名, 騙取證書發放機構的信任,從而可以實施中間人攻擊。
“如果你用自己的域名,比如evil.com, 創建一個SSL證書, 而在證書簽發的”Organization Name”一欄里寫入“’value,cn=*domain name”,你的證書可以作為一個合法的域名的證書被瀏覽器接受。”這位研究人員寫道。
而CyanogenMod的SSL實施就存在著這樣的漏洞,也就是說, 用戶可能被暴露于中間人攻擊的風險之下。 “
這其實是一個代碼復用導致安全漏洞的案例。 這里安全牛提醒各位開發者在采用涉及安全相關的代碼時要認真研究可能存在的漏洞。