首页
论坛
课程
招聘
[转帖]MFC库文档标题更新栈溢出漏洞
2010-7-13 02:14 3197

[转帖]MFC库文档标题更新栈溢出漏洞

2010-7-13 02:14
3197
刚才从IDC发给我的漏洞列表中,发现如下这个漏洞可不简单,贴出来给大家看看。

Microsoft Windows MFC库文档标题更新栈溢出漏洞
SEBUG-ID:19920
SEBUG-Appdir:Microsoft Windows
Published:2010-07-05
Vulnerable:

Microsoft Windows XP SP3
Microsoft Windows XP SP2
Microsoft Windows 2000 SP4

Discription:

BUGTRAQ  ID: 41333

Microsoft Windows是微软发布的非常流行的操作系统。

Windows mfc42.dll库中CFrameWnd类的UpdateFrameTitleForDocument()函数在更新文档标题时存在栈溢出漏洞,用户受骗打开了恶意的档案文件并向该函数传送了超长的标题字符串参数就可以触发这个溢出,导致执行任意代码。

<*References

    http://secunia.com/advisories/40298/

*>
SEBUG Solution:

厂商补丁:

Microsoft
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.microsoft.com/technet/security/

// sebug.net [2010-07-07]

看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 208
活跃值: 活跃值 (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
saga 活跃值 2 2010-7-16 21:41
2
0
大虾 能说说这个漏洞 厉害不
UpdateFrameTitleForDocument()函数的参数 怎么利用
雪    币: 130
活跃值: 活跃值 (13)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
xhK 活跃值 3 2010-7-22 09:47
3
0
public:
        void UpdateFrameTitleForDocument(LPCTSTR lpszDocName);
雪    币: 130
活跃值: 活跃值 (13)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
xhK 活跃值 3 2010-7-22 09:52
4
0

void CFrameWnd::UpdateFrameTitleForDocument(LPCTSTR lpszDocName)
{
	CString WindowText;

	if (GetStyle() & FWS_PREFIXTITLE)
	{
		// get name of currently active view
		if (lpszDocName != NULL)
		{
			WindowText += lpszDocName;

			// add current window # if needed
			if (m_nWindow > 0)
			{
				TCHAR szText[32];
				
				// :%d will produce a maximum of 11 TCHARs
				wsprintf(szText, _T(":%d"), m_nWindow);
				WindowText += szText;
			}
			WindowText += _T(" - ");
		}
		WindowText += m_strTitle;
	}
	else
	{
		// get name of currently active view
		WindowText += m_strTitle;
		if (lpszDocName != NULL)
		{
			WindowText += _T(" - ");
			WindowText += lpszDocName;

			// add current window # if needed
			if (m_nWindow > 0)
			{
				TCHAR szText[32];
				
				// :%d will produce a maximum of 11 TCHARs
				wsprintf(szText, _T(":%d"), m_nWindow);
				WindowText += szText;
			}
		}
	}

	// set title if changed, but don't remove completely
	// Note: will be excessive for MDI Frame with maximized child
	AfxSetWindowText(m_hWnd, (LPCTSTR) WindowText);
}



上面是mfc7.1中的代码
仔细看了下 wsprintf可能是会造成危害,可是szText已经有32个字节了
这个问题只存在于mfc4.2了吧
游客
登录 | 注册 方可回帖
返回