首页
社区
课程
招聘
[转帖]MFC库文档标题更新栈溢出漏洞
发表于: 2010-7-13 02:14 4543

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

2010-7-13 02:14
4543
刚才从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]

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

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

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了吧
2010-7-22 09:52
0
游客
登录 | 注册 方可回帖
返回
//