写点什么

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

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

关注

评论

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

前端DDD总结与思考

白玉兰开源

大前端 DDD

一文搞定 Flink Job 的运行过程

shengjk1

flink flink源码 flink源码分析

GitHub惊现!JVM G1GC的算法+实现,90张图+33段代码,你的面试专属!

Java架构师迁哥

家务活中的python协程

行者AI

协程 python学习

肝了15000字性能调优系列专题(JVM、MySQL、Nginx and Tomcat),看不完先收藏

北游学Java

Java MySQL nginx tomcat JVM

什么是Selenium?使用Selenium进行自动化测试

码界行者

DevOps selenium

前端规范之路

白玉兰开源

大前端 开发规范

Redis的适用场景简单剖析

大数据技术指南

redis 4月日更

2020年12月的面试经历:美团4面+字节4面(均已拿offer),面试真题分享

Java架构师迁哥

Redis为什么是单线程?高并发响应快?

Linux服务器开发

redis Linux服务器开发 网络io C++后端开发 单线程

前端⼤规模构建演进实践

白玉兰开源

架构 大前端

打造创新模型,博睿数据首倡服务可达的数据链DNA

博睿数据

知识分享:SQL注入的流程和步骤

Thrash

sql

一个诡异的MySQL查询超时问题,居然隐藏着存在了两年的BUG

CoderW

Java MySQL 数据库 程序员 互联网

轻松带你学习java-agent

华为云开发者联盟

Java Trace Java虚拟机 java-agent 挂载

从源码分析 MySQL 死锁问题入门

比伯

Java 编程 程序员 架构 计算机

【转载】图形化系统开发组件X-Series(一)——XrossUnit介绍

赫杰辉

智汇华云 | ArSDN打通软件定义数据中心的“任督二脉”

华云数据

聪明人的训练(二十二)

Changing Lin

4月日更

简简单单才是真,初试 Svelte

LeanCloud

如何深入的学习C语言

cdhqyj

编程 C语言 计算机 嵌入式

混搭的美感|靠谱点评

无量靠谱

博睿数据携数据链DNA创新理念,闪耀金融科技应用发展研讨会四川站

博睿数据

重磅来袭:Spring之RequestBody的使用姿势小结

学Java关注我

Java 编程 架构 技术 程序人生

彻底搞懂ThreadLocal

千珏

Java 源码分析 多线程 ThreadLocal

Golang 对象池

escray

学习 极客时间 Go 语言 4月日更

软件测试——教育机构课程顾问常见黑话大全

程序员阿沐

程序员 软件测试 教育 机构 教育培训

2021年3月券商App行情刷新及交易体验评测报告

博睿数据

一入爬虫深似海,从此早睡是路人

Thrash

0门槛成为“技术牛人”!星环科技线上分享课“星课堂”开播,快来报名,一探究竟

星环科技

人工智能 数据库 云计算 大数据 直播技术

华云大咖说 | 华云数据与数科网维携手共建国产云生态

华云数据

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