# N/A
## 概述
`algoliasearch-helper` 是一个用于构建 Algolia 搜索查询的工具库。在版本 **2.0.0-rc1 到 3.11.2(不包括 3.11.2)** 中,其 `merge.js` 文件中的 `_merge()` 函数存在 **Prototype Pollution** 漏洞,可能导致攻击者在特定条件下修改对象原型。
## 影响版本
受影响版本:
- `algoliasearch-helper` **>= 2.0.0-rc1 且 < 3.11.2**
## 漏洞细节
在 `_merge()` 函数中存在原型污染漏洞,允许攻击者通过用户输入修改 `constructor.prototype` 属性。虽然此操作通常会抛出错误,但如果在极端边缘情况下(extreme edge-case)该错误被捕获(try/catch),攻击者注入的代码可能通过污染原型的方式执行。
## 影响
- 如果应用**允许用户自定义搜索参数 searchParameters**,且这些参数**未正确校验和过滤**,则可能存在原型污染风险。
- 默认情况下的 **InstantSearch 配置不可利用该漏洞**,因为用户无法直接修改 `searchParameters`。
- 成功利用需要多个条件同时满足,属于**高门槛、低概率攻击场景**。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: Prototype pollution found in merge.js · Issue #922 · algolia/algoliasearch-helper-js -- 🔗来源链接
标签:
神龙速读标题: fix(constructor): prevent prototype pollution in rare error-cases · algolia/algoliasearch-helper-js@776dff2 · GitHub -- 🔗来源链接
标签:
神龙速读暂无评论