You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于openjdk:8-jdk-alpine镜像安装jq时CVE-2016-4074漏洞修复咨询

问题根因

你指定高于1.6-r0的jq版本安装失败,是因为Alpine 3.9官方源中jq的最高内置版本就是1.6-r0,该版本未修补CVE-2016-4074漏洞,可通过以下三种方案解决:

方案1:升级基础镜像Alpine版本

Alpine 3.10及以上版本的官方源已提供修复该漏洞的jq 1.6-r1及更高版本,直接更换更高版本的openjdk8 alpine基础镜像即可,修改后的Dockerfile示例:

# 选择Alpine 3.10及以上版本的openjdk8基础镜像
FROM openjdk:8-jdk-alpine3.10
ENV PACKAGES="jq>=1.6-r1"

该方案操作最简单,无额外编译开销,优先推荐。

方案2:手动编译安装高版本jq

如果不能升级基础镜像版本,可以在现有Alpine 3.9环境下编译安装无漏洞的jq版本,Dockerfile示例:

FROM openjdk:8-jdk-alpine3.9
# 安装编译依赖、编译安装jq 1.7版本后清理冗余文件
RUN apk add --no-cache autoconf automake build-base libtool git \
    && git clone --depth 1 --branch jq-1.7 https://github.com/stedolan/jq.git \
    && cd jq \
    && autoreconf -i \
    && ./configure --disable-maintainer-mode \
    && make && make install \
    && cd .. && rm -rf jq \
    && apk del autoconf automake build-base libtool git

安装完成后可执行jq --version验证版本是否符合要求。

方案3:临时添加Alpine Edge源安装高版本jq

不想编译的话也可以临时添加Alpine Edge软件源安装高版本jq,安装完成后删除Edge源避免影响后续其他包的安装,Dockerfile示例:

FROM openjdk:8-jdk-alpine3.9
RUN echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
    && apk update \
    && apk add --no-cache jq>=1.6-r1 \
    && sed -i '$d' /etc/apk/repositories \
    && rm -rf /var/cache/apk/*

内容的提问来源于stack exchange,提问作者BSG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:24:03