写点什么

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

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

关注

评论

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

Android热更新

android 程序员 移动开发

Android性能优化案例(3)内存抖动和泄漏的优化

android 程序员 移动开发

Android技能树 — Activity小结

android 程序员 移动开发

Android技能树 — 树基础知识小结(一)

android 程序员 移动开发

Android日常开发问题总结:这些问题火候不够,随时变成删库跑路!

android 程序员 移动开发

Android混合编程:WebView实践

android 程序员 移动开发

Android开发进阶,需要掌握这几个关键技术是关键!

android 程序员 移动开发

Android打造不一样的新手引导页面(二)

android 程序员 移动开发

Android第三方开发包值高德地图SDK使用介绍

android 程序员 移动开发

Android架构师成长之路,如何成为一名Android架构师?

android 程序员 移动开发

Android简易天气App

android 程序员 移动开发

Android开源框架(整理)

android 程序员 移动开发

Android开发进阶之路,你需要掌握这些关键技术!40万年薪不是梦

android 程序员 移动开发

Android开发:为什么除了Flutter之外,我们还需要另一个跨平台开发框架?

android 程序员 移动开发

Android开源的精美日历控件,热插拔设计的万能自定义UI

android 程序员 移动开发

Android最傻瓜式的AOP框架

android 程序员 移动开发

Android程序员996福报深度剖析,你真的能从资本家手上赚到钱吗?

android 程序员 移动开发

Android性能优化之启动加速35%

android 程序员 移动开发

Android架构组件-WorkManager

android 程序员 移动开发

Android相册选择图片、相机拍照上传功能实现(上)

android 程序员 移动开发

Android程序员如何平稳度过35岁的坎?

android 程序员 移动开发

Android第三方库解析

android 程序员 移动开发

Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus

android 程序员 移动开发

Android版仿微信朋友圈图片拖拽返回效果

android 程序员 移动开发

Android端应用秒开优化体验

android 程序员 移动开发

Android系统揭秘(五)-应用程序启动

android 程序员 移动开发

Android系统架构概述

android 程序员 移动开发

Android性能优化面试题集锦

android 程序员 移动开发

Android程序员就业到底有多难!

android 程序员 移动开发

Android程序员进阶为架构师的三个关键

android 程序员 移动开发

Android笔记:Android-组件化方案探索与思考

android 程序员 移动开发

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