CVE:CVE-2005-1756
CNNVD:CNNVD-200506-048
Novell NetMail是基于Internet标准消息和安全协议的邮件和日历系统。
Novell NetMail IMAP守护程序中存在堆溢出漏洞，成功利用这个漏洞的攻击者可以在目标机器上执行任意代码。
在处理命令延续请求时直接将用户定义的大小值用作了自定义内存分配封装(MMalloc())的参数：
00402CA2 lea ecx， [ebx+1] ; ebx是由攻击者控制的
00402CA5 push ecx
00402CA6 call MMmalloc
MMalloc()在分配内存前对所提供的值执行了最小数学运算。攻击者可以指定会导致整数溢出和分配很小内存块的恶意数字，之后inline memcpy()中会使用最初的较大值：
 00402D6E rep movsd ; 目标是攻击者分配的
 00402D70 mov ecx， edx
 00402D72 and ecx， 3
 00402D75 rep movsb
这个指令序列会将攻击者提供的数据拷贝到分配的堆块之外，覆盖任意堆。如果所提供的数据足够大的话，就可能破坏数据，最终导致NTDLL中的任意DWORD覆盖：
 77FCC2C0 mov [ecx]， eax
 77FCC2C2 mov [eax+4]， ecx
solution:Upgrade novell netmail to a higher version than 3.0.3a:a,3.0.3a:b,3.1,3.1:f,3.5.2:a,3.5.2:b,3.5.2:e-ftfl,3.10,3.10:a,3.10:b,3.10:c,3.10:d,3.10:e,3.10:f,3.10:g,3.10:h,and avoid the version 3.0.3a:a,3.0.3a:b,3.1,3.1:f,3.5.2:a,3.5.2:b,3.5.2:e-ftfl,3.10,3.10:a,3.10:b,3.10:c,3.10:d,3.10:e,3.10:f,3.10:g,3.10:h