关键漏洞信息 1. 问题描述: - 漏洞标题: new BN(null).toString() causes an infinite loop (crashes the browser) - 问题细节: 当使用 时,会导致无限循环,耗尽内存,最终造成Node.js进程崩溃或浏览器卡死。 2. 触发条件: - 通过以下代码可以触发此漏洞: 3. 影响范围: - bn.js库每周下载量接近3700万次,且被约3000个项目使用。该漏洞会导致服务拒绝(Denial of Service),具有较大影响。 4. 根本原因: - BN实例的 属性为0时,在 方法中的循环未能正确退出,导致无限循环。 5. 建议修复方案: - 在BN构造函数中添加额外的断言判断,例如检查 是否为0,从而避免进入无限循环。例如: 6. 相关讨论及进度: - 确认了触发条件及修复建议。 - 有提交尝试修复该问题,但截止目前该issue状态仍为open。 ``` 从网页截图中可以获取到上述漏洞的关键信息,包括问题描述、触发条件、影响范围、根本原因、建议修复方案以及相关讨论和进度等。