1
1
# syntax=docker/dockerfile-upstream:master-experimental
2
- FROM node:22.18.0-bookworm -slim AS builder
2
+ FROM node:22-trixie -slim AS builder
3
3
4
4
WORKDIR /cube
5
5
COPY . .
@@ -12,17 +12,33 @@ RUN yarn config set network-timeout 120000 -g
12
12
RUN apt-get update \
13
13
# python3 package is necessary to install `python3` executable for node-gyp
14
14
# 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 \
16
16
&& rm -rf /var/lib/apt/lists/*
17
17
18
18
# We are copying root yarn.lock file to the context folder during the Publish GH
19
19
# action. So, a process will use the root lock file here.
20
20
RUN yarn install --prod \
21
21
# Remove DuckDB sources to reduce image size
22
22
&& 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
26
42
27
43
ARG IMAGE_VERSION=unknown
28
44
@@ -32,7 +48,7 @@ ENV CUBEJS_DOCKER_IMAGE_TAG=latest
32
48
RUN groupadd cube && useradd -ms /bin/bash -g cube cube \
33
49
&& DEBIAN_FRONTEND=noninteractive \
34
50
&& 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 \
36
52
&& rm -rf /var/lib/apt/lists/* \
37
53
&& mkdir cube \
38
54
&& chown -R cube:cube /tmp /cube /usr
0 commit comments