Skip to content

[Snyk] Security upgrade python from 3.13.7-slim to 3.14.3-slim#28

Open
doublegate wants to merge 1 commit intomainfrom
snyk-fix-abcf10b36d4b099a835921dd876d14e6
Open

[Snyk] Security upgrade python from 3.13.7-slim to 3.14.3-slim#28
doublegate wants to merge 1 commit intomainfrom
snyk-fix-abcf10b36d4b099a835921dd876d14e6

Conversation

@doublegate
Copy link
Owner

snyk-top-banner

Snyk has created this PR to fix 3 vulnerabilities in the dockerfile dependencies of this project.

Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.

Snyk changed the following file(s):

  • services/orchestrator/Dockerfile

We recommend upgrading to python:3.14.3-slim, as this image has only 26 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.

Vulnerabilities that will be fixed with an upgrade:

Issue Score
high severity CVE-2025-69421
SNYK-DEBIAN13-OPENSSL-15123186
  686  
high severity CVE-2025-69421
SNYK-DEBIAN13-OPENSSL-15123186
  686  
high severity CVE-2025-69421
SNYK-DEBIAN13-OPENSSL-15123186
  686  
low severity CVE-2025-15468
SNYK-DEBIAN13-OPENSSL-15123158
  436  
low severity CVE-2025-15469
SNYK-DEBIAN13-OPENSSL-15123166
  436  

Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Copilot AI review requested due to automatic review settings February 11, 2026 13:46
@gemini-code-assist
Copy link

Summary of Changes

Hello @doublegate, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on enhancing the security posture of the orchestrator service by updating its Docker base image. The change ensures that the application benefits from the latest security patches available in the newer Python version, thereby reducing the number of known vulnerabilities in the deployed environment.

Highlights

  • Security Upgrade: This pull request, automatically generated by Snyk, addresses 3 vulnerabilities by upgrading the Python base image in the services/orchestrator/Dockerfile.
  • Python Version Bump: The Python base image has been updated from python:3.13.7-slim to python:3.14.3-slim for both the builder and runtime stages.
  • Vulnerability Fixes: The upgrade is expected to fix several high and low severity vulnerabilities, including CVE-2025-69421, CVE-2025-15468, and CVE-2025-15469, primarily related to OpenSSL.
Changelog
  • services/orchestrator/Dockerfile
    • Updated the base Python image from 3.13.7-slim to 3.14.3-slim for both build and runtime stages.
Activity
  • This pull request was automatically created by Snyk to propose a security upgrade.
  • The PR description details the vulnerabilities that will be fixed by this upgrade.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the Orchestrator service’s Docker base image to a newer Python slim image to reduce known CVEs in the container OS/runtime layer.

Changes:

  • Bump builder stage base image from python:3.13.7-slim to python:3.14.3-slim.
  • Bump runtime stage base image from python:3.13.7-slim to python:3.14.3-slim.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

# syntax=docker/dockerfile:1
# Orchestrator Service Dockerfile - Multi-stage build for production
FROM python:3.13.7-slim as builder
FROM python:3.14.3-slim as builder
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This Dockerfile upgrade moves the production container to Python 3.14, but the repo’s GitHub Actions workflows currently run lint/tests on 3.12/3.13 (and some security jobs on 3.11). That means this runtime Python version isn’t exercised in CI, which increases the risk of a successful build but runtime-only incompatibilities. Consider aligning CI to include 3.14 (or keeping the container on a version covered by CI).

Copilot uses AI. Check for mistakes.

# Runtime stage
FROM python:3.13.7-slim
FROM python:3.14.3-slim
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After bumping the base image to Python 3.14, the runtime stage still copies dependencies from /usr/local/lib/python3.13/site-packages later in the Dockerfile. That path won’t exist in the 3.14 builder image, so the build will fail (or the runtime container will miss installed deps). Update the COPY paths to match the new Python minor version, or make the path version-agnostic (e.g., derive it via python -c during build).

Copilot uses AI. Check for mistakes.
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request, generated by Snyk, upgrades the Python base image from 3.13.7-slim to 3.14.3-slim in the orchestrator's Dockerfile to address security vulnerabilities. While this is a valuable security update, it introduces a critical build issue. A COPY instruction in the Dockerfile contains a hardcoded path to the old Python version (python3.13), which will cause the Docker build to fail with the new python3.14 base image. My review includes a comment that identifies this issue and suggests updating the path, along with a recommendation to use build arguments for the Python version to make future upgrades more robust.

# syntax=docker/dockerfile:1
# Orchestrator Service Dockerfile - Multi-stage build for production
FROM python:3.13.7-slim as builder
FROM python:3.14.3-slim as builder

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

This base image upgrade is a good security improvement. However, it introduces a critical issue that will likely break the Docker build.

The COPY instruction on line 43, which copies packages from this builder stage, has a hardcoded path to python3.13:
COPY --from=builder /usr/local/lib/python3.13/site-packages ...

Since this stage now uses Python 3.14, the correct path should be /usr/local/lib/python3.14/site-packages. The destination path on line 43 also needs to be updated to use python3.14.

To prevent this issue in the future, I recommend using a build argument for the Python version:

# At the top of the file
ARG PYTHON_MAJOR_VERSION=3.14
ARG PYTHON_IMAGE_TAG=3.14.3-slim

# In FROM statements
FROM python:${PYTHON_IMAGE_TAG} as builder
...
FROM python:${PYTHON_IMAGE_TAG}

# In COPY statement
...
COPY --from=builder /usr/local/lib/python${PYTHON_MAJOR_VERSION}/site-packages /usr/local/lib/python${PYTHON_MAJOR_VERSION}/site-packages
...

This makes future upgrades much safer and easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants