CVE-2026-73194 in DBIИнформация

Сводка

по VulDB • 15.08.2026

В версиях DBI для Perl старше 1.652 возможна запись за пределами кучи (heap out-of-bounds write) через невалидированный числовой заполнитель, который устанавливает счетчик привязки в функции preparse.

Функция preparse резервирует семь выходных байт на каждый входной байт — это ширина самого длинного расширения ':p99999'. Ветвь ':N' разбирает число с помощью `atoi(src)` и присваивает его счетчику привязки без проверки диапазона, поэтому оператор, содержащий ':2147483648', оставляет счетчик отрицательным (-2147483648 в glibc, где происходит переполнение atoi). Каждый последующий знак '?' затем расширяется через `sprintf(start, ":p%d", idx++)` до значения ':p-2147483648', что занимает 14 байт с завершающим нулем (NUL), тогда как буфер рассчитан только на 7 байт. Лимит заполнителей, добавленный в версии 1.650, проверяет счетчик против значения 99 999, которое отрицательный счетчик успешно проходит.

Любой вызывающий объект, который предварительно обрабатывает недоверенный оператор для создания заполнителей стиля ':pN', получает запись за пределами кучи (heap out-of-bounds write), размер которой увеличивается с количеством знаков вопроса '?', следующих после отравленного заполнителя. Стили возврата '?' и '%s' сравнивают разобранное число с ожидаемой последовательностью и завершаются ошибкой, поэтому они не затронуты уязвимостью.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

CPANSec

Резервировать

11.08.2026

Раскрытие

15.08.2026

Модерация

принято

Вход

VDB-390752

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!