libspatialite до 5.1.0: целочисленное переполнение при разборе WKB-геометрии (CVE-2026-112052)
В библиотеке libspatialite до версии 5.1.0 включительно обнаружена уязвимость целочисленного переполнения в парсерах WKB-геометрии (gg_wkb.c). Специально сформированный BLOB с большим числом точек — например, в файле базы данных SpatiaLite — приводит к выходу за границы буфера, аварийному завершению процесса или повреждению кучи в 32-битных сборках. Уровень опасности — средний (CVSS 6.9).
Подробности
Уязвимость CVE-2026-112052 присутствует в libspatialite во всех версиях до 5.1.0 включительно. Причина — целочисленное переполнение в проверке размера счётчика точек и вершин в функции ParseWkbLine и связанных с ней парсерах файла gg_wkb.c. Из-за некорректной проверки границ значения, получаемого из заголовка WKB, библиотека может выполнить чтение за пределами выделенного буфера (out-of-bounds read). Атакующий эксплуатирует уязвимость, передавая сформированный BLOB-объект геометрии с завышенным числом точек — например, встроенный в файл базы данных SpatiaLite. Результатом может стать аварийное завершение процесса (отказ в обслуживании) либо повреждение области кучи (heap corruption) — прежде всего в 32-битных сборках, где переполнение счётчика проявляется наиболее выраженно. Уязвимости присвоен базовый балл CVSS 6.9, что соответствует среднему уровню опасности. Показатель отражает зависимость эксплуатации от обработки недоверенных пространственных данных, однако для приложений, принимающих сторонние SpatiaLite-базы или WKB-объекты от пользователей, риск следует оценивать как значимый.Что делать
Основная рекомендация — обновить libspatialite до версии, в которой устранена проблема (выпуск после 5.1.0; проверьте актуальные релизы проекта и дистрибутивов). Если немедленное обновление невозможно, примените следующие меры: - не открывайте и не импортируйте SpatiaLite-базы и WKB-объекты из недоверенных источников; - добавьте валидацию и ограничения на размер и содержимое геометрических BLOB до передачи их в парсер; - по возможности используйте 64-битные сборки, где последствия переполнения счётчика менее выражены; - отслеживайте обновления безопасности вашего дистрибутива и зависимых приложений, использующих libspatialite. Итог: CVE-2026-112052 — локально или удалённо эксплуатируемая (через обрабатываемые данные) уязвимость чтения за границами буфера в libspatialite. Она не позволяет напрямую выполнить код, но способна вызвать отказ в обслуживании и повреждение памяти. Своевременное обновление библиотеки и осторожность при работе с внешними пространственными данными закрывают основной вектор риска.Источник: CVE Project (cvelistV5)
