2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:006388
用户头像

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

关注

评论

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

先「干」,就对了

非著名程序员

个人成长 职场 认知提升 8月日更

网络攻防学习笔记 Day112

穿过生命散发芬芳

网络安全 8月日更

批量SQL优化实战

码农参上

sql SQL优化 8月日更

记一次勒索病毒后的应急响应

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

zookeeper集群怎么搞?

卢卡多多

zookeeper 8月日更

Python代码阅读(第15篇):列表求交集

Felix

Python 编程 Code Programing 阅读代码

云与AI真的能互相成就?还是最好各自独立行走?

白洞计划

磁场消灭癌细胞,是一种新的抗癌方案吗?

脑极体

【LeetCode】压缩字符串Java题解

Albert

算法 LeetCode 8月日更

从0开始的TypeScriptの十二:装饰器

空城机

JavaScript typescript 大前端 8月日更

为什么要选择filecoin矿机挖矿?为什么不直接购买filecoin?

分布式存储 IPFS Filecoin fil挖矿 fil矿机

数字化转型助力构建银行新型产品管理

CECBC

仿TP钱包开发,去中心化钱包源码开发

上游思维:谁来为没有发生的事情买单?

石云升

读书笔记 8月日更 上游思维

【六顶思考帽】蓝色思考帽

LeifChen

8月日更 创新思维 蓝色思考帽

质量基础设施一站式服务平台搭建,NQI平台搭建

fil币怎么挖矿?fil挖矿怎么挖?

fil挖矿怎么挖 fil币怎么挖矿

一文读懂混合型智能合约:如何结合链上与链下计算资源?

CECBC

Yarn资源调度框架

Geek_qsftko

YARN

ansible 循环

耳东@Erdong

ansible 8月日更 ansible 循环

CSS的设计模式(二)BEM与SMACSS

Augus

CSS 8月日更

模块一课后作业

穿裤子的云

架构实战营

Linux 虚拟文件系统(VFS)分析

赖猫

Linux 文件系统

C++ 中的 Pipeable 编程

hedzr

c++ pipeable

高尚小区

escray

生活记录 8月日更

Vue进阶(五十三):vue-cli 脚手架 webpack.prod.conf.js 配置文件详解

No Silver Bullet

Vue 8月日更

架构训练营第 1 期 模块五作业

高远

前端基础六之jQuery效果

ベ布小禅

8月日更

探索区块链C端市场 艺术品、卡牌、音乐皆可NFT

CECBC

扫码出入登记小程序

清风

小程序

面试篇:虚拟机栈5连问,一听心里就乐了

阿Q说代码

面试 JVM 8月日更 虚拟机栈

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