协作让我们更强大

协作让我们更强大

💡 原文英文,约1600词,阅读约需6分钟。
📝

内容提要

Databricks通过漏洞赏金计划,与研究员Mehmet合作修复了PostGIS扩展address_standardizer的内存安全漏洞。该漏洞可被普通租户利用,影响Lakebase和Neon平台。团队快速部署补丁保护客户,并推动上游修复,研究员将赏金捐给PostGIS项目。文章强调开源组件安全需平台方主动负责。

🔎

延伸解读

开源组件的责任边界

文章强调,托管服务商对开源组件的安全负有直接责任。即使漏洞源于上游PostGIS,但Databricks将其视为自身问题,主动修复并保护客户。这提醒其他平台,不能以“第三方代码”为由推卸责任,而应建立快速响应机制,确保用户安全。

漏洞赏金计划的价值

此次漏洞发现得益于Databricks的漏洞赏金计划。研究员Mehmet在测试中触发警报,被安全团队主动联系,最终促成修复。这展示了赏金计划不仅是发现漏洞的渠道,更是建立信任、促进协作的平台。对于安全团队,主动联系研究人员并快速响应,能有效提升安全防护。

上游修复的挑战

文章指出,上游修复可能不完整,且不一定分配CVE。Mehmet发现PostGIS的修复未覆盖所有情况,并提交了补充修复。这提醒依赖开源组件的企业,不能完全依赖上游更新,需自行验证和加固,同时积极回馈社区,确保修复完整。

Q&A

Databricks 是如何发现并处理 PostGIS 扩展中的内存安全漏洞的?

Databricks 通过其漏洞赏金计划,由外部研究员 Mehmet Ince 发现了一个在 PostGIS 的 address_standardizer 扩展中的内存安全漏洞。Databricks 的安全团队在收到报告后迅速验证并确认漏洞可被普通租户利用,随后立即部署补丁保护客户,并与研究员合作将修复推送到上游 PostGIS 项目。

这个漏洞具体是什么?它有什么潜在影响?

漏洞位于 PostGIS 的 address_standardizer 扩展中,是一个经典的内存安全缺陷:调用者可控的值被用作固定大小内部数组的索引,且没有边界检查,导致越界内存访问。由于该扩展是普通租户可安装和使用的,因此普通用户角色也能触发该漏洞,可能造成权限提升等安全风险。

Databricks 为什么认为开源组件中的漏洞也是自己的责任?

Databricks 认为,虽然漏洞的根因在上游 PostGIS,但因为他们将扩展默认提供给租户使用,所以暴露风险由他们承担。他们强调“你提供的开源组件中的漏洞仍然是你的问题”,因此主动接受报告、驱动响应,并奖励了研究员。

Databricks 如何在不等待上游修复的情况下保护客户?

Databricks 的扩展构建系统允许他们在编译和打包前对上游扩展应用任意补丁,包括回移修复或禁用风险代码路径。因此,他们可以独立于上游发布周期,快速部署补丁保护客户,同时并行推动上游修复。

研究员 Mehmet Ince 是如何处理他获得的赏金的?

Mehmet Ince 将获得的赏金捐赠给了 PostGIS 项目,并自掏腰包匹配了同等金额,以支持维护该开源项目的志愿者工作。

这个漏洞最终是如何在上游修复的?

最初上游发布了一个小修复,但并未覆盖所有情况。Mehmet Ince 验证了修复的不足,并提交了剩余的修复代码,从而为整个社区关闭了漏洞。整个过程中没有分配 CVE,这提醒人们重要的内存安全修复可能被当作“小清理”而忽略。

从这次事件中,Databricks 总结了哪些经验教训?

Databricks 总结的经验包括:开源组件的漏洞是平台方的责任;需要快速响应并保护客户;与研究员合作推动上游修复;以及提醒其他运营托管服务的公司,攻击面包括他们未编写的代码,需要主动负责。

🏷️

标签

➡️

继续阅读