Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build stage
FROM python:3.11-slim as builder

Check warning on line 2 in Dockerfile

View workflow job for this annotation

GitHub Actions / build

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/
ENV PATH="/root/.local/bin/:$PATH"

RUN apt-get update \
Expand Down Expand Up @@ -63,7 +63,7 @@
ENV PYTHONUNBUFFERED=1
ENV VIRTUAL_ENV=/app/venv
ENV PATH="/venv/bin:$PATH"
ENV PYTHONPATH=$PYTHONPATH:.:/app/src

Check warning on line 66 in Dockerfile

View workflow job for this annotation

GitHub Actions / build

Variables should be defined before their use

UndefinedVar: Usage of undefined variable '$PYTHONPATH' More info: https://docs.docker.com/go/dockerfile/rule/undefined-var/

WORKDIR /app

Expand All @@ -82,6 +82,9 @@
&& pip3 install --no-cache-dir --upgrade pip \
&& apt-get install -y --no-install-recommends git openssh-client curl fonts-dejavu-core apt-transport-https \
&& apt-get install -y --no-install-recommends libexpat1 libc6 libc-bin libcap2 \
# Upgrade openssl to 3.5.7 (trixie-security) for CVE-2026-14456, CVE-2026-14457,
# CVE-2026-18798, CVE-2026-54874, CVE-2026-63072, CVE-2026-63075, CVE-2026-63076 (High)
&& apt-get install -y --no-install-recommends libssl3t64 openssl openssl-provider-legacy \
&& rm -rf /var/lib/apt/lists/*

RUN echo 'deb http://deb.debian.org/debian forky main' > /etc/apt/sources.list.d/forky.list \
Expand All @@ -100,7 +103,8 @@

# Patching CVE-2026-24049 (High): wheel path traversal vulnerability
# Patching CVE-2026-23949 (High): jaraco.context path traversal vulnerability (vendored in setuptools)
RUN pip3 install --no-cache-dir "wheel>=0.46.2" "setuptools>=80.10.1" \
# Patching CVE-2026-59890 (Medium): setuptools MANIFEST.in exclusion bypass in sdist
RUN pip3 install --no-cache-dir "wheel>=0.46.2" "setuptools>=83.0.0" \
&& rm -rf /usr/local/lib/python3.11/site-packages/setuptools/_vendor/wheel-0.45.1.dist-info

COPY --from=builder /app/venv /venv
Expand Down
7 changes: 5 additions & 2 deletions playbooks/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@ multi_line_output = 3
include_trailing_comma = true

[tool.poetry.dependencies]
python = "^3.7.1"
Flask = "^2.0.2"
python = ">=3.9"
# Keep in sync with the main pyproject.toml Flask pin (CVE-2023-30861, CVE-2026-27205).
# An older cap here made pip downgrade Flask inside the Docker image after Poetry
# had already installed the patched version.
Flask = "^3.1.3"
prometheus-api-client = "^0.5.4"
pygal = "^3.0.0"
tinycss = "^0.4"
Expand Down
38 changes: 19 additions & 19 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ include_trailing_comma = true

[tool.poetry.dependencies]
python = ">=3.10, <3.12"
setuptools = "^80.9.0"
# Bump to fix CVE-2026-59890 (Medium): MANIFEST.in exclusion bypass in sdist
setuptools = ">=83.0.0"
colorlog = "^5.0.1"
python-json-logger = "^3.0.0"
pydantic = "^1.8.1"
Expand Down
Loading