CVE: CVE-2026-90775
Продукт: Debian
Дата публикации: 13.09.2026
Критичность: HIGH
CVSS: 7.1 (4.0)
EPSS: 0,34%; процентиль 27,65%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В пакете
address-standardizer для Debian обнаружена уязвимость, позволяющая атакующему вызвать падение процесса PostgreSQL. Ошибка возникает при обработке невалидных значений параметра Weight в таблицах правил. В статье разобран механизм атаки, затронутые версии в Debian и текущий статус исправления.Основные характеристики
Уязвимость позволяет нарушителю с локальными правами вызвать отказ в обслуживании, завершив работу всех сессий PostgreSQL. Риск связан с чтением вне границ массива при обработке пользовательских данных.
- Тип ошибки: CWE-125 (Out-of-bounds Read). Код обращается к памяти вне выделенного массива.
- CVSS 4.0: 7.1 (HIGH). Вектор:
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X.
- Условия атаки: Требуется локальный доступ (PR:L) и низкая сложность (AC:L). Пользовательское взаимодействие не требуется.
- Эксплуатация: В каталоге CISA KEV не подтверждена. Публичный эксплойт в виде готового кода в источниках не указан.
- EPSS: 0,35% (0.00345). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая.
Какие продукты и версии затронуты
В Debian уязвимость затрагивает исходный пакет
address-standardizer.- Debian forky: версия 3.7.0-1. Статус: open, исправление не назначено.
- Debian sid: версия 3.7.0-1. Статус: open, исправление не назначено.
Данные получены из Debian Security Tracker. Для других дистрибутивов статус может отличаться, так как версии пакетов и сроки выпуска обновлений варьируются.
Причина уязвимости
Причина ошибки — отсутствие валидации параметра
Weight из таблиц правил, переданных вызывающим кодом.В файле
src/analyze.c (строка 860) и src/gamma.c (строки 301-311) значение Weight используется как индекс для доступа к массиву load_value. Если атакующий вставляет в таблицу правил строку с невалидным значением Weight (вне допустимого диапазона), код выполняет чтение памяти за границами массива.Это приводит к неопределенному поведению и, в конечном итоге, к падению процесса PostgreSQL. Ошибка классифицируется как CWE-125 (Out-of-bounds Read).
Как работает атака
Атакующий должен иметь возможность записывать данные в таблицы правил, используемые компонентом
address_standardizer.- Атакующий создает или модифицирует строки в таблице правил, задавая параметр
Weightсо значением, выходящим за пределы размера массиваload_value.
- При выполнении запроса, который обрабатывает эти правила, код обращается к памяти по невалидному индексу.
- Происходит чтение вне границ массива (Out-of-bounds Read).
- Процесс PostgreSQL завершается с ошибкой, что приводит к отказу в обслуживании для всех подключенных сессий кластера.
Атака не требует взаимодействия пользователя и имеет низкую сложность, но требует локальных привилегий для записи в таблицы правил.
Условия успешной эксплуатации
Для успешной эксплуатации уязвимости необходимо выполнить следующие условия:
- Локальный доступ: Атакующий должен иметь учетную запись с правами на запись в таблицы правил PostGIS address_standardizer.
- Установка пакета: Система должна использовать уязвимую версию пакета
address-standardizer(до исправления).
- Активность компонента: Функции address_standardizer должны быть активны и обрабатывать данные из скомпрометированных таблиц правил.
- Отсутствие защиты: Не должно быть механизмов, ограничивающих диапазон значений
Weightна уровне приложения или базы данных.
Возможный сценарий атаки
Сценарий атаки предполагает, что злоумышленник получил доступ к базе данных с правами на модификацию таблиц правил.
- Атакующий вставляет в таблицу правил строку с параметром
Weight, равным, например, 1000, при том что размер массиваload_valueсоставляет 10.
- Пользователь или приложение выполняет запрос на стандартизацию адреса, который вызывает обработку этих правил.
- Код
address_standardizerпытается прочитать элемент массива по индексу 1000.
- Происходит чтение памяти вне границ, что вызывает сбой процесса PostgreSQL.
- Все активные сессии базы данных прерываются, сервис становится недоступным.
Этот сценарий демонстрирует, как локальный нарушитель может вызвать отказ в обслуживании всего кластера.
Есть ли публичный эксплойт
В предоставленных источниках нет информации о публичном эксплойте в виде готового кода или PoC.
- PoC: Не подтверждено наличие публичного Proof of Concept.
- Эксплуатация: В каталоге CISA KEV CVE-2026-90775 не числится.
- Техническое описание: Механизм атаки описан в advisory VulnCheck и в коде на GitHub, что позволяет разработать эксплойт, но готового инструмента в публичном доступе не указано.
Отсутствие сведений о публичном эксплойте не означает, что атака невозможна. Разработчики могут самостоятельно написать код для проверки уязвимости.
Признаки эксплуатации
Специфичные IOC для этой уязвимости в источниках не указаны. Ниже приведены неспецифичные признаки, которые могут указывать на попытку атаки:
- Аномальные значения в таблицах правил: Строки с параметром
Weight, выходящим за разумные пределы (например, отрицательные значения или очень большие числа).
- Журналы PostgreSQL: Записи о падении бэкенд-процессов (backend process crash) с указанием ошибки сегментации (segmentation fault) или невалидного доступа к памяти.
- Аудит доступа к БД: Запросы на вставку или обновление данных в таблицы, используемые
address_standardizer, от пользователей с подозрительными правами.
Эти признаки требуют дополнительной проверки, так как могут возникать и по другим причинам.
Как обнаружить атаку
Для обнаружения атаки и проверки уязвимости рекомендуется:
- Аудит таблиц правил: Проверить таблицы, используемые
address_standardizer, на наличие строк с невалидными значениямиWeight.
- Мониторинг логов PostgreSQL: Настроить алерты на сообщения о падении бэкенд-процессов, особенно если они связаны с обработкой адресов.
- Анализ доступа: Проверить, кто имеет права на запись в таблицы правил и когда эти права были предоставлены.
- Регрессионное тестирование: Выполнить запросы, вызывающие обработку правил, и убедиться, что база данных не падает при вводе граничных значений.
Эти меры помогут выявить как активную эксплуатацию, так и потенциальную уязвимость.
Как проверить свою версию
Для проверки версии пакета
address-standardizer в Debian используйте следующие команды:
Bash:
cat /etc/debian_version
cat /etc/os-release
apt-cache policy address-standardizer
dpkg-query -W -f='${Package} ${Version}\n' address-standardizer
Замените
<имя-пакета> на address-standardizer в командах apt-cache и dpkg-query. Вывод покажет установленную версию и доступные обновления в репозиториях Debian.Исправление
Официальное исправление для Debian пока не выпущено. Статус в Debian Security Tracker: open, urgency: not yet assigned.
- Ожидание обновления: Следите за анонсами в Debian Security Tracker и списком рассылки debian-security-announce.
- Обновление из upstream: Разработчики PostGIS выпустили исправление в коммите
a5cb4b1360a040973092f13b1af97a718e7e104a. Debian может включить это исправление в будущих обновлениях пакета.
- Ручное обновление: Если критично, можно рассмотреть установку пакета из исходников с применением патча, но это не рекомендуется для продакшн-систем без тщательного тестирования.
До выхода официального обновления Debian рекомендуется применять временные меры защиты.
Временные меры защиты
Пока исправление не выпущено, можно применить следующие временные меры:
- Ограничение прав доступа: Убедитесь, что только доверенные пользователи имеют права на запись в таблицы правил
address_standardizer.
- Валидация на уровне приложения: Если возможно, добавьте проверку значений
Weightв приложении перед записью в базу данных.
- Использование триггеров PostgreSQL: Создайте триггеры, которые отклоняют вставку строк с невалидными значениями
Weight.
- Мониторинг: Усиленный мониторинг логов PostgreSQL на предмет падений бэкенд-процессов.
Эти меры снижают риск, но не устраняют уязвимость полностью.
Как проверить устранение уязвимости
После применения исправления или временных мер проверьте их эффективность:
- Проверка версии: Убедитесь, что установленная версия пакета соответствует исправленной (после выхода обновления).
- Тестирование: Выполните запросы с невалидными значениями
Weightи убедитесь, что база данных не падает.
- Проверка прав: Убедитесь, что права на запись в таблицы правил ограничены.
- Мониторинг: Проверьте, что алерты на падение бэкенд-процессов настроены и работают.
Эти шаги помогут подтвердить, что система защищена от атаки.
Вывод
CVE-2026-90775 представляет собой серьезную угрозу для систем, использующих PostGIS address_standardizer в Debian. Уязвимость позволяет вызвать отказ в обслуживании PostgreSQL, что может привести к потере данных и прерыванию работы приложений.
Хотя вероятность эксплуатации в ближайшее время оценивается как низкая (EPSS 0,35%), администраторам следует отнестись к ней внимательно. Рекомендуется ограничить доступ к таблицам правил, усилить мониторинг и ждать официального обновления от Debian. После выхода патча его следует установить как можно скорее.
Официальные источники
История обновлений статьи
- 15.09.2026 — Опубликована первая версия материала.
