From d4aa8ee09e2d6e6676ed2dd7144d541e359fef7e Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 10 Jun 2026 17:27:50 +0100 Subject: kolla-build: Use SandboxedEnvironment to prevent SSTI Switch from jinja2.Environment to jinja2.sandbox.SandboxedEnvironment to block Server-Side Template Injection attacks. Closes-Bug: #2146056 Change-Id: Iecd1d8dcf99007e3339120961c7c1d0ca12f83d8 Signed-off-by: Michal Nasiadka (cherry picked from commit 0b20ffce09552014fa52c45de574511dc2200ac5) --- kolla/image/kolla_worker.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'kolla/image/kolla_worker.py') diff --git a/kolla/image/kolla_worker.py b/kolla/image/kolla_worker.py index 680595f86..b60f0558f 100644 --- a/kolla/image/kolla_worker.py +++ b/kolla/image/kolla_worker.py @@ -23,6 +23,7 @@ import tempfile import time import jinja2 +import jinja2.sandbox from kolla.common import config as common_config from kolla.common import utils from kolla.engine_adapter import engine @@ -392,7 +393,7 @@ class KollaWorker(object): 'build_date': build_date, 'clean_package_cache': self.clean_package_cache, 'patches_path': self.patches_path} - env = jinja2.Environment( # nosec: not used to render HTML + env = jinja2.sandbox.SandboxedEnvironment( loader=jinja2.FileSystemLoader(self.working_dir)) env.filters.update(self._get_filters()) env.globals.update(self._get_methods()) @@ -405,7 +406,7 @@ class KollaWorker(object): tpl_dict = self._merge_overrides(self.conf.template_override) template_name = os.path.basename(list(tpl_dict.keys())[0]) values['parent_template'] = template - env = jinja2.Environment( # nosec: not used to render HTML + env = jinja2.sandbox.SandboxedEnvironment( loader=jinja2.DictLoader(tpl_dict)) env.filters.update(self._get_filters()) env.globals.update(self._get_methods()) -- cgit v1.2.3