11# syntax=docker/dockerfile-upstream:master-experimental
2- FROM node:22.18.0-bookworm -slim AS builder
2+ FROM node:22-trixie -slim AS builder
33
44WORKDIR /cube
55COPY . .
@@ -12,17 +12,33 @@ RUN yarn config set network-timeout 120000 -g
1212RUN apt-get update \
1313 # python3 package is necessary to install `python3` executable for node-gyp
1414 # libpython3-dev is needed to trigger post-installer to download native with python
15- && apt-get install -y python3 python3.11 libpython3.11 -dev gcc g++ make cmake openjdk-17 -jdk-headless \
15+ && apt-get install -y python3 python3-dev gcc g++ make cmake openjdk-21 -jdk-headless wget \
1616 && rm -rf /var/lib/apt/lists/*
1717
1818# We are copying root yarn.lock file to the context folder during the Publish GH
1919# action. So, a process will use the root lock file here.
2020RUN yarn install --prod \
2121 # Remove DuckDB sources to reduce image size
2222 && rm -rf /cube/node_modules/duckdb/src \
23- && yarn cache clean
24-
25- FROM node:22.18.0-bookworm-slim
23+ && yarn cache clean \
24+ # FIX CVE-2019-10744: Patch lodash in unmaintained jshs2 package
25+ # jshs2 hasn't been updated since 2017 and bundles lodash 3.10.1 with critical vulnerabilities
26+ # This is a temporary fix until migration to hive-driver is completed
27+ && if [ -d /cube/node_modules/jshs2/node_modules/lodash ]; then \
28+ echo "Patching lodash in jshs2 from 3.10.1 to 4.17.21 (CVE-2019-10744 fix)" && \
29+ rm -rf /cube/node_modules/jshs2/node_modules/lodash && \
30+ cp -r /cube/node_modules/lodash /cube/node_modules/jshs2/node_modules/; \
31+ fi
32+
33+ # FIX CVE-2022-41853: Update hsqldb from 2.3.2 to 2.7.1
34+ # Note: This is a JAR file that cannot be fixed via npm/yarn resolutions
35+ RUN wget -O /tmp/hsqldb-2.7.1.jar https://repo1.maven.org/maven2/org/hsqldb/hsqldb/2.7.1/hsqldb-2.7.1.jar \
36+ && if [ -f /cube/node_modules/@cubejs-backend/jdbc/drivers-10.17/hsqldb.jar ]; then \
37+ mv /tmp/hsqldb-2.7.1.jar /cube/node_modules/@cubejs-backend/jdbc/drivers-10.17/hsqldb.jar; \
38+ fi \
39+ && rm -f /tmp/hsqldb-2.7.1.jar
40+
41+ FROM node:22-trixie-slim
2642
2743ARG IMAGE_VERSION=unknown
2844
@@ -32,7 +48,7 @@ ENV CUBEJS_DOCKER_IMAGE_TAG=latest
3248RUN groupadd cube && useradd -ms /bin/bash -g cube cube \
3349 && DEBIAN_FRONTEND=noninteractive \
3450 && apt-get update \
35- && apt-get install -y --no-install-recommends libssl3 openjdk-17 -jre-headless python3.11 libpython3.11 -dev \
51+ && apt-get install -y --no-install-recommends libssl3 openjdk-21 -jre-headless python3 python3 -dev \
3652 && rm -rf /var/lib/apt/lists/* \
3753 && mkdir cube \
3854 && chown -R cube:cube /tmp /cube /usr
0 commit comments