liblcf v0.8.1: Переполнение це... Заметка

liblcf v0.8.1: Переполнение целого числа в функции ReadInt() библиотеки liblcf приводит к чтению за пределами выделенной памяти и отказу в обслуживании.

Размещено Ron E 18 августа. Созданный вручную файл сохранения для RPG Maker (.lsd) может вызвать переполнение целого числа в логике декодирования сжатых целых чисел liblcf (LcfReader::ReadInt()), что приведет к неограниченному сдвигу и циклу накопления. Переполненное значение впоследствии используется в выделении размера буфера и разборе структуры, вызывая большие запросы на доступ к памяти и ошибки разбора.Шаги для воспроизведения1. Используйте приложенный файл .lsd (см. раздел PoC).2. Запустите: `./lcfstrings..."