Защитная памятка по MariaDB Connector/Node.js и GHSA-g5xc-5w98-jfvm: версия, инвентарь, безопасный обратимый тест, отрицательный контроль, патч, стоп-линия и обезличенный пакет поддержки.
Что подтверждает GHSA-g5xc-5w98-jfvm
Официальный advisory GHSA-g5xc-5w98-jfvm / CVE-2026-55855 описывает конкретную границу: многобайтовый Buffer при определённых настройках экранирования мог привести к некорректной сборке SQL. Диапазон версий сформулирован так: исправления выпущены в 3.2.4, 3.3.4, 3.4.6 и 3.5.3 для соответствующих поддерживаемых веток. Это подтверждает дефект vendor-компонента, но само по себе не доказывает, что он достижим в конкретной установке. Отделите наличие пакета от достижимости функции: зафиксируйте версию из lock-файла или runtime, включённый модуль и путь данных. Не переносите оценку на соседние продукты только по сходному названию класса уязвимости.
Инвентарь до любого изменения
Снимите минимальный паспорт MariaDB Connector/Node.js: источник артефакта, точную версию, checksum, способ запуска и включённую функцию, связанную с advisory. Не прикладывайте токены, cookies, IP, полные конфиги и пользовательские данные. Для решения достаточно таблицы «lock-версия | кодировка соединения | тип параметра | число строк | ошибка драйвера». Если версия не попадает в заявленный диапазон, отметьте not affected by version, но отдельно проверьте backport у поставщика образа. Если версия неизвестна или пакет переупакован, состояние остаётся blocked, а не безопасным по умолчанию.
Обратимый тест и отрицательный контроль
Проверка выполняется только на изолированном стенде и без эксплуатационного payload. План: на тестовой базе выполнить только заранее заданные безопасные значения разных кодировок через параметры и сравнить число строк, тип параметра и серверный digest запроса. Сначала запишите baseline на текущей версии, затем тот же fixture на исправленной, после чего повторите baseline либо восстановите snapshot. Положительный контроль доказывает, что штатная функция всё ещё работает; отрицательный — что опасная граница закрыта. Не считайте timeout успехом: он может означать сетевую ошибку, зависание или неверный стенд. Все входы должны быть синтетическими и удаляемыми.
Патч, проверка совместимости и откат
Рабочая последовательность для этого случая: найти фактическую ветку коннектора по lock-файлу, выбрать исправленную точку той же ветки и прогнать параметризованные запросы. Обновляйте внутри поддерживаемой ветки и сверяйте vendor release, а не только номер в manifest. До rollout сохраните резервную копию изменяемого состояния, checksum исходного артефакта и одну команду восстановления. После обновления повторите только релевантные smoke-тесты, проверьте журналы на новые ошибки и подтвердите, что dependency resolver действительно выбрал исправленную сборку. Откат должен возвращать код и данные совместимо, поэтому миграции проверяются отдельно.
Критерий решения, стоп-линия и пакет поддержки
Решение passed возможно, когда установленная версия соответствует исправленной границе, штатный контроль проходит, отрицательный контроль безопасно отклоняется и нет новой ошибки в журнале. Стоп-линия: если приложение собирает SQL конкатенацией, кодировка соединения неизвестна или тест затрагивает реальные записи. В поддержку передайте только GHSA-g5xc-5w98-jfvm, версию до и после, обезличенную строку матрицы «lock-версия | кодировка соединения | тип параметра | число строк | ошибка драйвера», timestamp Europe/Moscow, checksum артефакта и первый релевантный error-class. Не включайте секреты и не утверждайте, что отсутствие воспроизведения доказывает отсутствие риска во всех конфигурациях.
Отдельная модель риска для MariaDB Connector/Node.js
В этой проверке активом считается именно состояние, которое меняет MariaDB Connector/Node.js, а доверительной границей — место, где возникает условие «многобайтовый Buffer при определённых настройках экранирования мог привести к некорректной сборке SQL». До патча зафиксируйте причинную цепочку своими полями: lock-версия | кодировка соединения | тип параметра | число строк | ошибка драйвера. Для этого advisory ожидаемый ответ не сводится к зелёному health-check: требуется доказать версию, достижимость конкретной функции и результат отрицательного контроля. Компенсирующая мера до окна обновления — убрать недоверенный вход с этой границы и сократить права процесса. После патча независимым доказательством служат совпавшие checksum артефакта, vendor-версия и строка fixture-наблюдения, а не отсутствие жалоб. Для Node.js сверяйте одновременно package-lock, negotiated character set и тип значения Buffer; версия серверной MariaDB сама по себе не определяет состояние клиентской библиотеки.
Материал подготовлен редакцией VOne с помощью ИИ по открытым официальным и первичным источникам; факты, версии и ссылки перепроверены. Реальные пользовательские данные и вымышленные результаты тестов не использовались.
Источники и проверка
- MariaDB Connector/Node.js security advisory GHSA-g5xc-5w98-jfvm проверено 2026-08-30
- MariaDB Connector/Node.js vendor fix or release проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.