Oracle云基础设施(OCI)代码编辑器近日被披露存在一个严重的远程代码执行(RCE)漏洞,攻击者可通过用户的一次点击操作,静默劫持其 Cloud Shell 环境。
该漏洞目前已被修复,影响范围包括代码编辑器所集成的多个服务模块,如资源管理器(Resource Manager)、函数服务(Functions)和数据科学(Data Science),凸显了看似独立的云开发工具如何可能演变为攻击载体。
要点概览
1.Oracle Cloud 代码编辑器的文件上传功能缺乏跨站请求伪造(CSRF)防护,使得攻击者可通过“一键”方式上传恶意文件;
2. 该漏洞可实现远程代码执行,并可能危及多个 OCI 集成服务的安全;
3. Oracle 已通过强制要求使用 X-CSRF-Token
请求头来阻止跨域攻击。
漏洞分析
该漏洞源于 Oracle 代码编辑器与 Cloud Shell 的深度集成:二者共享底层文件系统及用户会话上下文。这一设计缺陷使得攻击者可以在用户毫不知情的情况下,利用代码编辑器上传恶意文件至 Cloud Shell,并借助用户权限在环境中执行任意代码,从而完全控制受害者的云开发环境。
尽管这种高度集成的设计初衷是为了为开发者提供无缝的使用体验,但实际上却无意中暴露出一个可被利用的攻击面,最终被安全研究人员发现并加以利用。
Tenable 的研究始于一个简单的问题:既然开发人员可以轻松地通过代码编辑器上传文件,那么攻击者是否也能做到?这一思路最终导致研究人员发现了代码编辑器中的一个 /file-upload
接口,该接口缺乏跨站请求伪造(CSRF)防护措施,这与 Cloud Shell 中已正确配置安全机制的上传接口形成鲜明对比。
此次漏洞的核心组件是 Cloud Shell 路由器(router.cloudshell.us-ashburn-1.oci.oraclecloud.com),该路由器接受包含 multipart/form-data 负载的 HTTP POST 请求。
该路由器使用了配置为 SameSite=None 属性的 CS-ProxyChallenge Cookie,未能对经过身份验证的用户发起的跨站请求提供有效防护。
利用路径非常直接。攻击者可以创建恶意的 HTML 页面,当经过身份验证的 OCI 用户访问该页面时,恶意文件会在用户不知情的情况下自动上传至其 Cloud Shell 环境。
此次攻击采用了精心构造的 HTTP 请求:
研究人员演示了攻击者如何覆盖 .bashrc
文件,从而建立反向 shell,获得对 Cloud Shell 的交互式访问权限,并利用受害者的凭据通过 OCI CLI 实现对 OCI 服务的横向移动。
防护措施
针对该漏洞,Oracle 采取了额外的安全措施,特别是要求所有相关请求必须携带自定义 HTTP 头 x-csrf-token
,其值为 csrf-value
。
此项改动有效防止了 CSRF 攻击,因为浏览器在跨源请求时无法自动附加自定义请求头,除非存在正确的 CORS 配置。
该漏洞的影响不仅限于 Cloud Shell,还波及到 Code Editor 的集成服务。由于这些服务运行在相同的共享文件系统上,恶意负载可能会影响 Resource Manager 工作区、Functions 部署以及 Data Science 环境,形成覆盖 OCI 开发者工具包的多重攻击面。
此次事件凸显了云服务集成所带来的安全挑战,便利性功能在无意间扩大了攻击面,超出了其原本的设计范围。
发表评论
您还未登录,请先登录。
登录