研究人员发现,数以千计的Oracle NetSuite电子商店容易受到数据泄露的影响,敏感的客户信息也面临风险。
AppOmni 的网络安全研究人员警告说,Oracle NetSuite SuiteCommerce 平台中存在潜在问题,可能允许攻击者访问客户敏感数据。
NetSuite 是一个广泛使用的 SaaS 企业资源规划 (ERP) 平台,因其通过 SuiteCommerce 或 SiteBuilder 部署面向外部的在线商店的能力而受到重视。这些商店托管在 NetSuite 租户的子域上,使未经身份验证的客户能够直接从企业浏览、注册和购买产品。
问题不是 NetSuite 解决方案中的漏洞,而是自定义记录类型 (CRT) 上的访问控制配置错误,可能会泄露客户敏感信息。
暴露的敏感数据是注册客户的个人身份信息,包括完整地址和手机号码。
威胁参与者以 NetSuite 中的自定义记录类型 (CRT) 为目标,这些类型使用“无需权限”访问控制,允许未经身份验证的用户通过 NetSuite 的记录和搜索 API 访问数据。但是,要使攻击成功,攻击者必须首先知道正在使用的 CRT 的名称。
“我们还必须假设未经身份验证的参与者知道 CRT 的名称。在本文发表之前,存在一种可以调用的方法,该方法将返回所有 CRT 的名称。然而,这已经得到了修复,“研究人员发表的报告中写道。“今天,可以使用两种方法检索 CRT 名称。
- 暴力破解下面第一步中所示的 API 端点,使用由流行的 CRT 名称组成的单词列表,该单词列表已使用 Github 等公共资源进行整理。
- 通过在与站点交互期间观察 HTTP 流量,在响应中查找以“customrecord_”为前缀的字符串。
为了降低风险,管理员应加强对自定义记录类型 (CRT) 的访问控制,限制公众对敏感字段的访问,并考虑暂时使受影响的站点脱机以防止数据泄露。
“解决这些数据暴露问题的可靠方法是加强对 CRT 的访问控制。从安全角度来看,最简单的解决方案可能涉及将记录类型定义的访问类型更改为’需要自定义记录条目权限‘或’使用权限列表‘。实际上,许多组织都有真正的业务需求,要求公开记录类型中的某些字段。因此,我强烈建议管理员开始评估字段级别的访问控制,并确定需要公开哪些字段(如果有)。对于必须从公共访问中锁定的字段,管理员必须进行以下两项更改:
- 默认访问级别:无
- 搜索/报告的默认级别:无