Новости криптобиржи

Обнаружена уязвимость переполнения кучи в токенизаторе Llama.cpp: глубокий анализ и последствия

Новости криптобиржи
We Found a Heap Overflow in Llama.cpp's Tokenizer

Подробный обзор обнаруженной уязвимости переполнения кучи в токенизаторе Llama. cpp, её причины, методы эксплуатации, влияние на безопасность и реакция разработчиков проекта.

В современном мире машинного обучения и искусственного интеллекта безопасность программных компонентов становится не менее важной, чем их функциональность. Недавнее открытие уязвимости переполнения кучи в токенизаторе Llama.cpp стало серьезным вызовом для сообщества разработчиков и исследователей безопасности. Данная проблема скрывалась под поверхностью более года, и лишь автономный исследовательский агент Pwno смог выявить её глубинные причины и продемонстрировать потенциальные последствия. В основе уязвимости лежит тонкий баг, связанный с переполнением целочисленного значения, который приводит к возможности выхода за пределы выделенной памяти и переписыванию соседних участков — классической ошибке безопасности, называемой heap overflow.

Уникальность открытия заключается в том, что уязвимость затрагивает токенизатор — ключевой компонент языковых моделей, отвечающий за преобразование входного текста в последовательности токенов, на которых строится само машинное обучение. Проблема проявляется в функции llama_vocab::tokenize, где осуществляется преобразование результата размера вектора токенов из беззнакового типа size_t в знаковый int32_t. Такая трансформация происходит в условии сравнения, которое при определённых крайних условиях приводит к переполнению знакового типа и, как следствие, некорректному поведению программы. При больших размерах результата cast приводит к отрицательному значению, из-за чего условие сравнения с n_tokens_max, обычно небольшой по размеру переменной, принципиально искажается. В результате на этапе копирования токенов в аллоцированный буфер происходит выход за выделенную память, что формально является heap overflow.

Данная ошибка является не просто уроком по осторожному обращению с типами данных в C++, но и важным предупреждением о том, как даже тонкие дизайнерские решения могут создавать серьёзные дыры безопасности. Любопытно, что в процессе обнаружения проблемы исследователи Pwno столкнулись с преградами при попытках создать доказательство концепции (Proof-of-Concept): стандартная библиотека C++ имеет внутренние механизмы защиты, не позволяющие создать std::vector с очень большим размером, что блокировало преднамеренное воспроизведение ошибки. Однако, обходной путь был найден благодаря особенностям внутренней архитектуры llama.cpp: при активации Jinja шаблонов для обработки диалогов исключалась часть кода, вызывающая ошибку размера буфера. Это позволило обойти ограничения системных аллокаторов и протестировать вызов токенизатора с необходимыми параметрами.

Помимо heap overflow, в ходе исследования был выявлен и побочный эффект — потенциальная уязвимость ReDoS (Regular Expression Denial of Service) из-за бесконечной рекурсии в обработке регулярных выражений в разделе unicode_regex_split, что само по себе является серьёзной проблемой, способной привести к переполнению стека и блокировке сервиса. Авторы доклада сумели не только вскрыть суть бага и продемонстрировать пути его обхода, но и предоставить полную обратную связь сообществу llama.cpp, что позволило разработчикам оперативно отреагировать и выпустить патчи исправления в течение 24 часов с момента раскрытия. Такой подход к безопасности заслуживает высокой оценки и демонстрирует зрелость и ответственность команды, поддерживающей столь важный инфраструктурный проект в области ИИ. Последствия обнаруженной уязвимости выходят за рамки учебного примера.

Переполнение кучи предоставляет потенциальным злоумышленникам множество векторов атаки: от нарушения целостности приложения и краха inferencing-сервера до полномасштабного удалённого исполнения кода. Именно риск получения удалённого контроля над вычислительной системой делает ошибки подобного рода особенно опасными для инфраструктур, предоставляющих сервисы машинного обучения в облаке или на корпоративных платформах. Ранее в других компонентах машинного обучения, таких как GGUF пиарсер, наблюдались похожие проблемы, но случай с токенизатором Llama.cpp стал первой подобной уязвимостью на этом уровне. Это подчеркивает, как сложно обеспечить безопасность всех слоев сложной системы, и как важно исследовать самые фундаментальные компоненты с точки зрения безопасности.

Появление автономных систем исследователей безопасности, таких как Pwno, становится все более актуальным в эпоху масштабного распространения ИИ. Способность подобного агентства не только обнаружить баг, но и провести комплексный анализ и взаимодействовать с разработчиками, ускоряя процесс выявления и устранения уязвимостей, демонстрирует будущее безопасной разработки. Помимо технических деталей, важным уроком из раскрытия CVE-2025-52566 является осознание тонкости взаимодействия разных библиотек и компонентов ПО — особенно в условиях интенсивного использования шаблонных движков (Jinja), регулярных выражений и продвинутого механизма токенизации. Применение «двухфазного» подхода к выделению памяти, широко распространённого в llama.cpp, оказалось уязвимым к переполнению из-за некорректной работы с типами данных, что подчеркивает, что даже распространённые паттерны могут скрывать риски.

Заметный прогресс вызвало также понимание специфики токенизации с разными режимами, такими как Byte-Pair Encoding и Unigram модели. Благодаря выбору архитектуры токенизатора можно было обойти побочные эффекты, такие как бесконечная рекурсия при разбиении текста на слова, что увеличивает гибкость и безопасность системы. Для разработчиков и пользователей индустрии машинного обучения открытие CVE-2025-52566 — это сигнал о необходимости проведения регулярного аудита безопасности ключевых компонентов, даже тех, которые воспринимаются как зрелые и стабильные. Важно помнить, что вычислительные риски могут крыться в самых фундаментальных слоях стека ПО и что их своевременное выявление требует как человеческого участия, так и внедрения современных инструментов автоматизации. В заключение, данное исследование не только расширило границы знаний о мельчайших нюансах внутренней работы llama.

cpp, но и послужило отличным примером экологичного и ответственного взаимодействия между исследовательским сообществом и разработчиками. Благодаря быстро проведённому исправлению будет укреплена безопасность не только llama.cpp, но и многих проектов, зависящих от него, а тонкое понимание причини уязвимостей повысит общую устойчивость экосистемы машинного обучения на годы вперёд.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
AMD Keeps Building Momentum in AI, with Plenty of Work Still to Do
Воскресенье, 28 Сентябрь 2025 AMD усиливает позиции в сфере искусственного интеллекта: успехи и вызовы на пути к лидерству

Компания AMD демонстрирует значительный прогресс в развитии технологий искусственного интеллекта, расширяя свое присутствие на рынке AI-чипов и создавая мощное аппаратное и программное обеспечение. Впереди еще много задач, однако AMD уверенно движется к конкуренции с ведущими игроками индустрии, продолжая внедрять инновации в области GPU, CPU и инфраструктурных решений.

Wrote a Playbook for College
Воскресенье, 28 Сентябрь 2025 Как создать идеальный план для успешной учёбы в колледже

Подробное руководство по эффективному планированию учёбы в колледже, помогающее студентам организовать время, сформировать полезные привычки и обрести правильный настрой для достижения своих целей.

Official Monero website compromised with malware that steals funds
Воскресенье, 28 Сентябрь 2025 Взлом официального сайта Monero: вредоносное ПО крадет криптовалюту пользователей

Официальный сайт Monero подвергся атаке хакеров, в результате которой был взломан Linux CLI бинарный файл с вредоносным кодом, способным похищать средства пользователей. Рассказывается о деталях взлома, способах защиты и важности проверки целостности загружаемых файлов.

Monero Developers Confirm Fix of Bug That Lost Balances for Ledger Wallet Users - Yahoo Finance
Воскресенье, 28 Сентябрь 2025 Команда Monero исправила баг, из-за которого пользователи Ledger теряли балансы

Разработчики Monero официально подтвердили устранение критической ошибки, которая приводила к потере балансов у пользователей аппаратных кошельков Ledger. Узнайте, как произошла проблема, какие меры были предприняты для её решения и что это значит для владельцев Monero в дальнейшем.

Japan's Financial Regulator Is Pushing Crypto Exchanges To Drop 'Altcoins' Favored By Criminals - Forbes
Воскресенье, 28 Сентябрь 2025 Япония борется с криптовалютами для преступников: финансовый регулятор против Monero, Zcash и Dash

Японские финансовые власти усиливают давление на криптобиржи с целью прекратить работу с анонимными «альткойнами», которые становятся предпочтительным средством для легализации преступных доходов и киберпреступлений. Рассматривается влияние этой политики на рынок и будущее криптовалют в Японии.

Monero slams crypto-jackers after mining malware hits government sites - TNW
Воскресенье, 28 Сентябрь 2025 Как Monero борется с крипто-майнерами: атака майнинг-вредоносного ПО на государственные сайты

В последние годы растет угроза майнинг-малвари, которая использует вычислительные мощности пользователей без их ведома для добычи криптовалюты Monero. Важной реакцией стало создание специальных групп и инструментов для борьбы с этим явлением, что имеет огромное значение для безопасности как частных лиц, так и государственных учреждений.

Monero’s former maintainer arrested in the US for allegations unrelated to cryptocurrency - Cointelegraph
Воскресенье, 28 Сентябрь 2025 Бывший руководитель Monero арестован в США по обвинениям, не связанным с криптовалютой

Бывший ведущий разработчик Monero Риккардо Спаньи был задержан в США по запросу южноафриканских властей по обвинениям в мошенничестве, связанным с его прежней работой. Его арест вызвал волну обсуждений в криптосообществе, подчеркнув важность разделения личных и профессиональных претензий к фигурам индустрии.