关键信息提取 漏洞概述 标题: Investigate crash caused by Java plug-in using deleted WMP plug-in object (MSVR-09-0049) 漏洞编号: CVE-2010-1198 修复状态: RESOLVED FIXED 类型: defect 严重性: normal 漏洞细节 原因: 插件A可能会引用另一插件B的NPObjgrct,当插件B从页面卸载时,插件A会有一个指向已释放的NPObjgrct的野指针,从而导致崩溃。 提出的修复方法 解决方案: 在传递属于不同实例的NPObjgrct时,使用双重包装而不是直接解包。这意味着其他插件会获得对nsJSObjWrapper的引用,而不会直接引用会被销毁的NPObjgrct。 测试和审查 测试链接: 代码,测试 审查: Patch经过了多次审查和修改,最终在1.9.2和Lorentz分支上合并。 影响和后续 风险评估: 变更在代码上简单,但在效果上有风险,尤其是对于同一个插件的两个实例现在会得到包装的对象而不是原生对象。 后续行动: - 将fix应用于其他分支。 - 提交更多测试用例以判断修复效果。 - 关注新提交的关于JS引擎的崩溃问题,可能需要开新问题跟踪。 - 可能存在null-dereference的崩溃,需考虑是否重新标记为4.0修复并为其他问题创建新bug。