一键触发漏洞:Oracle云代码编辑器RCE漏洞允许攻击者上传恶意文件

image

  Oracle 云基础设施(OCI)代码编辑器中存在一个严重的远程代码执行(RCE)漏洞,攻击者只需点击一次即可静默劫持受害者的 Cloud Shell 环境。该漏洞目前已修复,影响了代码编辑器的集成服务,包括资源管理器、函数服务和数据科学服务,揭示了看似隔离的云开发工具如何成为攻击媒介。

  核心发现

  1. Oracle 云代码编辑器的文件上传功能缺乏 CSRF 防护,允许通过点击触发恶意文件上传
  2. 漏洞导致远程代码执行,可能危及集成的 OCI 服务
  3. Oracle 已添加强制X-CSRF-Token 标头来防御跨站攻击

  漏洞技术分析

  该漏洞源于 Oracle 代码编辑器与 Cloud Shell 的深度集成,两者共享相同的底层文件系统和用户会话上下文。虽然这种紧密耦合旨在提供无缝的开发体验,却意外创造了攻击面。

  安全公司 Tenable 的研究始于一个简单问题:如果开发者能通过代码编辑器轻松上传文件,攻击者是否也能做到?调查发现代码编辑器的/file-upload 端点缺乏跨站请求伪造(CSRF)防护,而 Cloud Shell 的上传机制则具备完善防护。

漏洞利用示意图

  漏洞核心在于 Cloud Shell 路由器(router.cloudshell.us-ashburn-1.oci.oraclecloud.com),该组件接收包含 multipart/form-data 负载的 HTTP POST 请求。路由器使用的 CS-ProxyChallenge cookie 配置了 SameSite=None 属性,对认证用户的跨站请求毫无防护。

  攻击实现方式

  攻击者可创建恶意 HTML 页面,当认证的 OCI 用户访问时,页面会自动向其 Cloud Shell 环境上传恶意文件。研究人员演示了攻击者如何覆写 .bashrc 文件建立反向 shell,获取 Cloud Shell 的交互式访问权限,并利用受害者凭证通过 OCI CLI 在 OCI 服务间横向移动。

攻击请求示例

  防护措施

  Oracle 通过实施额外安全措施修复了该漏洞,要求所有相关请求必须包含值为 csrf-value 的自定义 HTTP 头x-csrf-token。由于浏览器无法在跨域请求中自动包含自定义头(除非配置了 CORS),这一变更有效缓解了 CSRF 攻击。

  该漏洞的影响不仅限于 Cloud Shell,还波及代码编辑器的集成服务。由于这些服务运行在共享文件系统上,恶意负载可能危及资源管理器工作区、函数部署和数据科学环境,在 OCI 开发者工具套件中形成了多层面的威胁。此事件凸显了云服务集成中固有的安全挑战——便利性功能可能无意中扩大了攻击面。

  参考来源:

  1-Click Oracle Cloud Code Editor RCE Vulnerability Lets Attackers Upload Malicious Files