Alpine Linux Docker 镜像安全漏洞

局长
 局长
发布于 2019年05月16日
收藏 13

Alpine Linux 发行版向来以轻巧和安全而被大家熟知,但最近思科安全研究人员却发现 Alpine Linux 的 Docker 镜像存在一个已有三年之久的安全漏洞,通过该漏洞可使用空密码登录 root 帐户

该漏洞的编号为 CVE-2019-5021,严重程度评分为 9.8 分,最早在 Alpine Linux Docker 镜像 3.2 版本中被发现,并于2015年11月进行了修复,还添加了回归测试以防止将来再发生。

但后来为了简化回归测试,Alpine Linux Docker 镜像的 GitHub 仓库合并了一个新的 commit,而正是这个 commit 导致了错误的回归,并在 3.3 之后的版本中(包括 Alpine Docker Edge)都保留了这个漏洞。

  • v3.5(EOL)
  • v3.4(EOL)
  • v3.3(EOL)

目前该漏洞已被修复。

官方对这个漏洞的描述为:如果在 Docker 容器中安装了 shadow 软件包并以非 root 用户身份运行服务,那么具有 shell 访问权限的用户可在容器内对账号进行提权。

▲密码以加密形式保存,但允许以 root 身份登录而无需输入任何密码

该漏洞仅针对 Alpine Linux 的 Docker 镜像版本,且安装了shadow 或 linux-pam 软件包才会受影响。

对于使用较旧的、不受支持的版本,可以将以下命令添加到 Dockerfile 来修复漏洞:

# make sure root login is disabled
RUN sed -i -e 's/^root::/root:!:/' /etc/shadow

或者卸载shadow 或 linux-pam 软件包。

Alpine Linux Docker 镜像是一个十分小巧的镜像,大小仅 5MB,远小于其他 Linux 发行版,在 Docker Hub 的下载次数已超过千万。  

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Alpine Linux Docker 镜像安全漏洞
加载中

精彩评论

-TNT-
-TNT-
最开始很喜欢这个镜像做基础镜像,因为小
后来意识到因为有分层,所以每次push镜像并不需要push基础镜像,也就无所谓小不小了
而且alpine太干净…有时候遇到问题必须进容器看情况,很多工具都没有

最新评论(7

LongRaindy
LongRaindy
我们的业务nginx就是基于alpine镜像打包的,非常干净且稳定,0故障率。
你们都是技术宅
你们都是技术宅

引用来自“-TNT-”的评论

最开始很喜欢这个镜像做基础镜像,因为小
后来意识到因为有分层,所以每次push镜像并不需要push基础镜像,也就无所谓小不小了
而且alpine太干净…有时候遇到问题必须进容器看情况,很多工具都没有

引用来自“hellozjf”的评论

@-TNT- 但是你做的镜像给别人使用时,别人能早点把镜像拉取下来,为别人节省宝贵的时间,就这点来说是有意义的。
都一样啊,大部分用的都是ubuntu做基础,你也用ubuntu的话提前下载了等于基础镜像大小是0,没啥区别啊
Jyang2016
Jyang2016

引用来自“-TNT-”的评论

最开始很喜欢这个镜像做基础镜像,因为小
后来意识到因为有分层,所以每次push镜像并不需要push基础镜像,也就无所谓小不小了
而且alpine太干净…有时候遇到问题必须进容器看情况,很多工具都没有
以前公司的网络,每次上传到内网的时候只有十几K。所以为了方便,线上都是空基础镜像,然后可执行程序还压缩。最后要上传上去的镜像就5M内。还是上传的心累。
hellozjf
hellozjf

引用来自“-TNT-”的评论

最开始很喜欢这个镜像做基础镜像,因为小
后来意识到因为有分层,所以每次push镜像并不需要push基础镜像,也就无所谓小不小了
而且alpine太干净…有时候遇到问题必须进容器看情况,很多工具都没有
@-TNT- 但是你做的镜像给别人使用时,别人能早点把镜像拉取下来,为别人节省宝贵的时间,就这点来说是有意义的。
-TNT-
-TNT-
最开始很喜欢这个镜像做基础镜像,因为小
后来意识到因为有分层,所以每次push镜像并不需要push基础镜像,也就无所谓小不小了
而且alpine太干净…有时候遇到问题必须进容器看情况,很多工具都没有
wj2699
wj2699
什么时候可以成为官方默认镜像
返回顶部
顶部