安全公告

下文介绍了与 Dataflow 相关的所有安全公告。

如需接收最新安全公告,请执行以下操作之一:

  • 将此页面的网址添加到您的 Feed 阅读器
  • 直接将 Feed 网址添加到您的 Feed 阅读器:https://cloud.google.com/feeds/dataflow-security-bulletins.xml

GCP-2024-040

发布日期:2024-07-03

说明 严重级别 备注

最近在 OpenSSH 中发现了一个远程代码执行漏洞 CVE-2024-6387。Dataflow 作业可能会创建使用包含易受 CVE-2024-6387 攻击的 OpenSSH 版本的操作系统映像的虚拟机。该漏洞可让攻击者获取对 Dataflow 工作器虚拟机的根访问权限。对于具有公共 IP 地址且向互联网公开 SSH 的 Dataflow 工作器虚拟机,应优先考虑采取风险缓解措施。

该怎么做?

您可以使用经过修补的 Dataflow 虚拟机映像,其中包含更新后的 OpenSSH。我们建议您按照以下步骤来检查流水线的风险,然后根据需要采取介绍的风险缓解措施。

不允许通过 SSH 连接到 Dataflow 工作器虚拟机

此操作是防范 SSH 当前和未来漏洞的最有效缓解措施。

Dataflow 无需对 Dataflow 工作器虚拟机的 SSH 访问权限即可正常运行或调试大多数 Dataflow 问题。

使用以下 Google Cloud CLI 命令为 Dataflow 虚拟机停用 SSH:

gcloud compute firewall-rules create block-ssh-dataflow \
   --network=NETWORK \
   --action=DENY --priority=500 \
   --rules=tcp:22 \
   --target-tags=dataflow

如需还原此操作,请使用 gcloud compute firewall-rules delete block-ssh-dataflow 命令。

更新或重启长时间运行的流处理流水线

此操作解决了本公告中提到的特定漏洞。

在 2024-07-04 22:00 PDT 之后启动的任何 Dataflow 作业都会使用经过修补的虚拟机映像。对于在此日期之前启动的流处理流水线,如需使用经过修补的虚拟机映像,您必须手动更新作业或重启作业。

确定哪些 Dataflow 作业包含具有公共 IP 地址的工作器虚拟机

除非防火墙阻止了访问,否则具有公共 IP 地址的 Dataflow 工作器虚拟机的 SSH 端口会对互联网开放。

如需获取启动了具有外部 IP 地址的虚拟机的 Dataflow 作业列表,请使用以下 gcloud CLI 命令:

gcloud --project PROJECT_ID compute instances list \
   --filter "EXTERNAL_IP!='' AND STATUS='RUNNING' \
              AND description ~ 'Created for Dataflow job'" \
   --format="list (description)" | sort -u

如需检查项目中具有外部 IP 地址的所有虚拟机的列表,请使用以下 gcloud CLI 命令:

gcloud --project PROJECT_ID compute instances list \
   --filter "EXTERNAL_IP!='' AND STATUS='RUNNING'"

停用 Dataflow 作业中的公共 IP

此步骤可确保 SSH 端口不会向公共互联网开放。除非防火墙阻止了访问,否则此配置会将端口开放给有权访问此网络的其他用户。

不访问公共互联网的 Dataflow 流水线不需要使用公共 IP 地址。

如果您确定任何使用公共 IP 地址但不需要公共互联网访问权限的流水线,请为这些流水线关闭外部 IP 地址。如需查看相关说明,请参阅关闭外部 IP 地址

解决了哪些漏洞?

CVE-2024-6387 漏洞利用了可用于获取对远程 shell 的访问权限的竞态条件,使攻击者能够获取对 Dataflow 工作器虚拟机的 root 访问权限。截至本文发布之时,利用该漏洞十分困难,攻击每台设备需要花费数小时的时间。我们没有发现任何利用该漏洞发起攻击的行为。

CVE-2024-6387