研究人员在 Apache OpenWhisk 无服务器云平台中发现了两个漏洞,可导致恶意人员覆写并执行任意代码。

Apache OpenWhisk 是一个开源平台,旨在执行响应事件的代码。该平台处理基础设施和服务器,以便用户能集中开发自己的应用程序。

IBM Cloud Functions 功能即服务 (FaaS) 平台基于 Apache OpenWhisk,因而易受攻击。

其中一个漏洞 CVE-2018-11757,是由 PureSec 公司的研究人员发现的。另外一个漏洞 CVE-2018-11756 是在调查第一个漏洞时发现的。

Apache OpenWhisk 开发人员和 IBM 均已创建补丁。

PureSec 公司的研究人员表示,这些漏洞本可允许攻击者在某些情况下覆写在容器中执行的某个函数的源代码并影响同样容器中的后续执行,即使是由不同用户执行的也不例外。

漏洞如遭利用,可导致敏感数据遭泄露或导致合法动作的原始逻辑遭恶意执行。研究人员指出,“另外,攻击者可能发动类似攻击,从而影响其它容器,导致攻击变成更具持续性或传播广泛的威胁”。

具体而言,PureSec 表示,攻击者可利用这些缺陷获取敏感的用户数据如密码、修改或删除信息、挖掘密币或发动分布式 DDoS 攻击。

OpenWhisk 在 Docker 容器中运行每个动作(函数)并且和函数的交互涉及可经由端口8080访问的 REST 接口。每个容器都有两个端点:/init用于接收将被执行的代码;而 /run 用于接收该动作的参数并执行代码。

如果攻击者能在函数中找到漏洞如远程代码执行缺陷,则能强制向端口 8080 上的 /init 接口启动本地 HTTP 请求并覆写源代码。

PureSec 已公布技术公告、博客文章以及视频,展示了针对 IBM 云函数的攻击。

Apache OpenWhisk 的其中一名创建人员指出,“PureSec 研究显示,对于受影响的函数运行时而言,成功利用易受攻击的函数的攻击者如通过远程代码执行或劫持参数,能够替换容器中正在运行的代码,那么复用该容器的后续函数调用就在使用新代码。”

Rabbah 指出,“Apache OpenWhisk 社区快速响应 PureSec 研究报告并审计了函数可用的所有运行时。它包括 Node.js、Python、Swift、Java、PHP 和即将增加的 Ruby 和 Ballerina。所有的运行时目前均监测某函数何时尝试在运行容器中进行转换,并统一生成警告信息,这样如果函数易受代码利用,那么开发人员就能够观测到并做出响应。”

本文由360代码卫士翻译自SecurityWeek

声明:本文来自代码卫士,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。