VYPR
Critical severity9.6NVD Advisory· Published May 14, 2024· Updated Apr 15, 2026

CVE-2024-34359

CVE-2024-34359

Description

llama-cpp-python is the Python bindings for llama.cpp. llama-cpp-python depends on class Llama in llama.py to load .gguf llama.cpp or Latency Machine Learning Models. The __init__ constructor built in the Llama takes several parameters to configure the loading and running of the model. Other than NUMA, LoRa settings, loading tokenizers, and hardware settings, __init__ also loads the chat template from targeted .gguf 's Metadata and furtherly parses it to llama_chat_format.Jinja2ChatFormatter.to_chat_handler() to construct the self.chat_handler for this model. Nevertheless, Jinja2ChatFormatter parse the chat template within the Metadate with sandbox-less jinja2.Environment, which is furthermore rendered in __call__ to construct the prompt of interaction. This allows jinja2 Server Side Template Injection which leads to remote code execution by a carefully constructed payload.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
llama-cpp-pythonPyPI
>= 0.2.30, < 0.2.720.2.72

Patches

1
b454f40a9a17

Merge pull request from GHSA-56xg-wfcc-g829

https://github.com/abetlen/llama-cpp-pythonPatrick PengMay 10, 2024via ghsa
1 file changed · +2 1
  • llama_cpp/llama_chat_format.py+2 1 modified
    @@ -11,6 +11,7 @@
     from typing import Any, Dict, Iterator, List, Literal, Optional, Tuple, Union, Protocol, cast
     
     import jinja2
    +from jinja2.sandbox import ImmutableSandboxedEnvironment
     
     import numpy as np
     import numpy.typing as npt
    @@ -191,7 +192,7 @@ def __init__(
             self.add_generation_prompt = add_generation_prompt
             self.stop_token_ids = set(stop_token_ids) if stop_token_ids is not None else None
     
    -        self._environment = jinja2.Environment(
    +        self._environment = ImmutableSandboxedEnvironment(
                 loader=jinja2.BaseLoader(),
                 trim_blocks=True,
                 lstrip_blocks=True,
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

4

News mentions

0

No linked articles in our index yet.