WIKI

15.1 Fragment注入漏洞(CVE-2013-6271)检测

(1)描述

api level 小于19app,所有继承了PreferenceActivity类的activity并将该类置为exported的应用都受到Fragment注入漏洞的威胁。

Google Android 4.4 KitKat 里面修正了该问题,引入了PreferenceActivity.isValidFragment函数,要求用户重写该函数验证Fragment来源正确性。

(2)风险等级

(3)影响范围

小于Android 4.4API level 19

(4)检测方法

检测类型:静态分析

检测api level 小于19app是否有导出activity继承自PreferenceActivity,如果存在则有注入 漏洞

转换成smali文件

(5)修复建议

ü  Android api >=19时,要覆盖每一个PreferenceActivity类下的isValidFragment方法以避免异常抛出;

ü  Android api < 19时,如果在PreferenceActivity内没有引用任何fragment,建议覆盖isValidFragment并返回false

(6)参考资料

ü  http://wolfeye.baidu.com/blog/android-fragment-injection

ü  http://developer.android.com/reference/android/os/Build.VERSION_CODES.html#KITKAT

ü  http://developer.android.com/reference/android/preference/PreferenceActivity.html#isValidFragment(java.lang.String)

ü  http://stackoverflow.com/questions/19973034/isvalidfragment-android-api-19

ü  http://securityintelligence.com/new-vulnerability-android-framework-fragment-injection/

ü  http://securityintelligence.com/wp-content/uploads/2013/12/android-collapses-into-fragments.pdf

ü  https://cureblog.de/2013/11/cve-2013-6271-remove-device-locks-from-android-phone/

ü  http://drops.wooyun.org/mobile8165