CVE-2024-34359
Оценки
EPSS
Процентиль: 62.6%
CVSS
Оценка CVSS: 9.6/10
Все оценки CVSS
Вектор: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
Разбор вектора
CVSS (Common Vulnerability Scoring System) вектор предоставляет детальные метрики о характеристиках уязвимости
CVSS
Вектор атаки
Сеть (N)
Описывает способ эксплуатации уязвимости
Сложность атаки
Низкая (L)
Описывает условия, не зависящие от атакующего
Требуемые привилегии
Отсутствуют (N)
Описывает уровень привилегий, которыми должен обладать атакующий
Взаимодействие с пользователем
Требуется (R)
Отражает требование участия человека в атаке
Область воздействия
Изменена (C)
Определяет, влияет ли успешная атака на компоненты за пределами уязвимого компонента
Воздействие на конфиденциальность
Высокое (H)
Измеряет воздействие на конфиденциальность информации
Воздействие на целостность
Высокое (H)
Измеряет воздействие на целостность при успешной эксплуатации уязвимости
Воздействие на доступность
Высокое (H)
Измеряет воздействие на доступность затронутого компонента
Описание
llama-cpp-python — это привязки Python для llama.cpp. llama-cpp-python зависит от класса Llama в llama.py для загрузки .gguf llama.cpp или Latency Machine Learning Models. Конструктор __init__, встроенный в Llama, принимает несколько параметров для настройки загрузки и запуска модели. Помимо NUMA, настроек LoRa, загрузки токенизаторов и настроек оборудования, __init__ также загружает шаблон чата из целевого метаданного .gguf и дополнительно анализирует его в llama_chat_format.Jinja2ChatFormatter.to_chat_handler() для построения self.chat_handler для этой модели. Тем не менее, Jinja2ChatFormatter анализирует шаблон чата внутри Metadate с помощью jinja2.Environment без песочницы, который, кроме того, отображается в __call__ для построения prompt взаимодействия. Это позволяет использовать Server Side Template Injection jinja2, что приводит к удаленному выполнению кода с помощью тщательно сконструированной полезной нагрузки.