写点什么

OpenJDK Docker 镜像存在错误版本漏洞

  • 2019-06-25
  • 本文字数:1177 字

    阅读完需:约 4 分钟

OpenJDK Docker 镜像存在错误版本漏洞

OpenJDK 邮件列表在五月确认,OpenJDK的官方Docker镜像中包含错误标记版本号,这表明部分 JRE 应包含的安全补丁实际上并不存在。该问题已经通过 OpenJDK 和 Debian 间的跨社区协作得以解决


该“官方”版本是由 Docker 和其他方制作的,因为 OpenJDK 社区没有创建镜像或生成构建。在GitHub issue 320中,充分讨论了该镜像构建是由谁创建的、该“官方”镜像的意义、参与镜像的各方包括谁等问题。该 Docker 镜像已被下载超过一千万次。


问题的核心与构建开发层的检查时间和使用时间相关。该版本于 2019 年 3 月 27 日生成,并标记版本号为 8u212 和 11.0.3。其中的安全补丁直到 2019 年 4 月 16 日才发布。按 Azul 首席技术官 Gil Tene 的说法,“按一些人的说法,这些累积起来的’合理’选择最终导致数百万人在 Docker 上运行的默认 OpenJDK 事实上完全是块‘神秘之肉’(mystery meat),并不完整的、暴露的构建,虽然看起来似乎推荐的是 8u212 或 11.0.3 的一个 Java 版本”。Tene 最早在 OpenJDK 邮件列表上报告了这个问题。 “神秘之肉”(mystery meat)一词是指难以确定来源的标签项。该术语并不意味着内容不安全,只是表示它们不为人知。


InfoQ 与 jClarity 首席执行官兼伦敦 JUG 联合牵头人 Martijn Verburg 探讨了这个问题。这次混乱源自版本控制系统中最近引入的标签,其中添加了后缀“-ga”。该标签向 Debian 志愿者维护者等第三方标明了构建应何时提供 GA 版。该标记晚于各 JVM 供应商的“开放获取时滞期”(embargo period)之后应用,以确保以安全的方式将安全更新分发给所有 JVM 提供商。如果没有开放获取时滞期,那么黑客会定期反编译安全补丁,找出可攻击的位置,然后利用该工具包攻击尚未修补漏洞的版本。Debian 项目提供了超过 51,000 个 Linux 软件包,难以合理地参与每个项目去理解版本的复杂性。这包括 OpenJDK,其中“-ga”标记是 JDK 7 和 JDK 8 的新版本和以前版本之间跳过的数字。


Docker 镜像中的该版本号表明应该包含CVE-2019-2602CVE-2019-2684补丁,但实际并未包含。在镜像发布过程中,至少给出了六个应该加入Docker镜像的安全补丁。 版本不匹配可能会增加下游软件组合分析(Software Composition Analysis)工具的复杂性,这些分析工具根据版本分析软件的补丁情况。它们帮助组织识别哪里具有已知 CVE 的过期软件,以便组织做出适当的修补或降低风险。许多工具根据该版本号,错误地确定这些 JRE 不易受到攻击。由于许多 Java 供应商每季度发布一次安全补丁,因此开放获取时滞期可能会很短。例如,Oracle 计划下一次重要补丁更新将在 2019 年 7 月 16 日推出。那时,目前的 Java 版本号将被视为不安全,由新的安全基线取而代之。


该问题已由 Apache 软件基金会的 Emanuel Bourg 完成修复,并做了补救工作以防止其再次发生。


查看英文原文: OpenJDK Docker Image Served Mis-Labeled Vulnerable JDK


2019-06-25 08:006463
用户头像

发布了 391 篇内容, 共 153.8 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

OpenHarmony关系型数据库查询结果呈现

白晓明

关系型数据库 数据库查询 OpenHarmony

天津市人工智能计算中心揭牌 天下津梁融汇AI之力

脑极体

算力

低代码起势,开发者可以早日脱离996了?

引迈信息

程序员 前端 低代码 996

Go如何自动解压缩包?如何读取docx/doc文件内容?

王中阳Go

Go 高效工作 学习方法 文件处理 压缩

分享:数据库存储与索引技术(三)LSM树实现案例

OceanBase 数据库

数据库 oceanbase

MobTech|什么是SDK

MobTech袤博科技

B站容量管理:游戏赛事等大型活动资源如何快速提升10+倍?

TakinTalks稳定性社区

OpenKruise 成为 CNCF 孵化项目:为大规模采用 Kubernetes 打开大门

阿里巴巴云原生

阿里云 开源 云原生 OpenKruise cncf

vika维格表 x 阿里云计算巢:SaaS 云端私有化部署,助力企业数字化转型

云布道师

计算巢

借助 mperf 进行矩阵乘法极致优化

MegEngineBot

开源 性能优化 MegEngine

从质量思维到用户思维

老张

质量保障 用户思维

如何在容器服务 ACK 玩转 MSE Ingress

阿里巴巴云原生

阿里云 容器 微服务 云原生

国网信通产业集团*IoTDB | 三平台管理百亿级累计数据,构建端边云全周期电力数据高效解决方案

Apache IoTDB

IoTDB 国产时序数据库

Dubbo 就近路由

昵称不能为null

dubbo 路由

Tapdata 赋能敏捷转型:头部知识付费应用如何搭载实时数据快速提升人效,创造业务增长点

tapdata

数据库

快来看HarmonyOS 3新动作!华为畅享10S等24款设备启动花粉Beta招募

最新动态

JVM 的 noverify 启动参数

HoneyMoose

架构的演进

程序员大彬

Java 架构

Koordinator 助力 ACK 容器调度升级,提升应用性能,节约资源成本

阿里巴巴云原生

阿里云 容器 云原生 Koordinator

智能公厕应用人工智能技术,实现智慧化管理与服务

光明源智慧厕所

智慧城市

Groovy关键字def

FunTester

运维训练营第20周作业

好吃不贵

2023最新最全Java面试速成指南,面试骚操作都在里面了

程序员小毕

程序员 后端 高并发 架构师 java面试

Gogs/Gitea 环境搭建

流火

git gogs Gitea

使用 Alluxio 优化 EMR 上 Flink Join

亚马逊云科技 (Amazon Web Services)

人工智能

跟GPT学k8s-Kubernetes-native load balancer options

jupiter

Surfire 单元测试添加 jvm参数

HoneyMoose

尚硅谷数据湖Iceberg视频教程发布

小谷哥

干货|10个C4D必备插件,让工作事半功倍

Finovy Cloud

C4D 3ds Max

Activity初学乍练

芯动大师

android 活动 Activity

DeepL:慢公司的快速扩张之路

CnosDB

DeepL 时序数据库 开源社区 CnosDB

OpenJDK Docker 镜像存在错误版本漏洞_软件工程_Erik Costlow_InfoQ精选文章