Рекомендация Debian по безопасности

DSA-2865-1 postgresql-9.1 -- несколько уязвимостей

Дата сообщения:
20.02.2014
Затронутые пакеты:
postgresql-9.1
Уязвим:
Да
Ссылки на базы данных по безопасности:
В каталоге Mitre CVE: CVE-2014-0060, CVE-2014-0061, CVE-2014-0062, CVE-2014-0063, CVE-2014-0064, CVE-2014-0065, CVE-2014-0066, CVE-2014-0067, CVE-2014-2669.
Более подробная информация:

В PostgreSQL были обнаружены различные уязвимости:

  • CVE-2014-0060 Поддержка ограничений GRANT ... WITH ADMIN OPTION (Ноа Миш)

    Предполагается, что предоставление роли без ADMIN OPTION не должно давать получателю этой роли возможность добавления или удаления членов из предоставляемой ему роли, но это ограничение легко можно обойти, выполнив сначала SET ROLE. Влияние этого на безопасность состоит по большей части в том, что член роли может отозвать доступ у других членов, что не соответствует желаниям того, кто ему эту роль предоставил. Неподтверждённые добавления членов роли вызывают меньшее беспокойство, поскольку внешний член роли всё равно может предоставить большую часть своих прав другим, создавая представления или функции SECURITY DEFINER.

  • CVE-2014-0061 Предотвращение повышения привилегий через вызовы функций проверки PL вручную (Андреас Фрёнд)

    Первичная роль функций проверки PL состоит в том, чтобы они вызывались незаметно во время CREATE FUNCTION, но они также являются обычными функциями SQL, которые пользователь может вызвать явным образом. Вызов проверки функции, фактически написанной на каком-либо другом языке, не проверяется и может использоваться с целью повышения привилегий. Исправление этого включает добавление вызова функции проверки привилегий в каждую функцию проверки. Потребуется также изменить собственные функции проверки, если таковые имеются, и в сторонних процедурных языках.

  • CVE-2014-0062 Отмена многочисленных запросов поиска по имени во время DDL таблицы и индекса (Роберт Хаас, Андреас Фрёнд)

    Если несколько запросов поиска по имени завершается с разными результатами из-за параллельной работы, мы можем выполнить некоторые части DDL на другой таблице, но не все. По меньшей мере, в случае CREATE INDEX это может использоваться для того, чтобы запустить проверки прав доступа относительно другой таблицы, а не для создания индекса, что позволяет осуществлять атаку с целью повышения привилегий.

  • CVE-2014-0063 Предотвращение переполнения буфера с длинными строками дат и времени (Ноа Миш)

    Константа MAXDATELEN была слишком мала для наиболее длинного значения типового интервала, что приводило к переполнению буфера в interval_out(). Хотя ввод функций даты и времени менее подвержен переполнению буфера, буфер был ограничен таким образом, что некоторые корректные варианты ввода отвергались как некорректные, напр. ввод, содержащий очень длинное имя временной зоны. Библиотека ecpg содержала данные уязвимости, а также некоторые другие проблемы.

  • CVE-2014-0064 CVE-2014-2669 Предотвращение переполнения буфера из-за переполнения целых чисел при вычислении размера (Ноа Миш, Хайки Линнакангас)

    Некоторые функции, по большей части функции типового ввода, вычисляли размер выделения памяти без осуществления проверки переполнения. Если возникало переполнение, мог быть выделен слишком маленький буфер, а затем записан прошлый буфер.

  • CVE-2014-0065 Предотвращение переполнения буферов с фиксированным размером (Питер Эйзентраут, Йозеф Млих)

    Используйте strlcpy() и связанные функции для предоставления очевидной гарантии, что буферы с фиксированным размером не переполнены. В отличии от предшествующих пунктов, не ясно, соответствуют эти случаи фактическим проблемам или нет, поскольку в большинстве случаев встречались предыдущие ограничения размера вводных строк. Тем не менее, кажется полезным исправить все предупреждения Coverity о проблемах данного типа.

  • CVE-2014-0066 Предотвращение аварийного завершения в случае, если crypt() возвращает NULL (Хонца Хорак, Брюс Момджан)

    Существует относительно немного сценариев, в которых crypt() может возвратить NULL, но contrib/chkpass может аварийно завершить работу, если таковое произойдёт. На практике это может произойти в случае, если библиотека libc была настроена так, чтобы отклонить выполнение неутверждённых алгоритмов хэширования (напр., режима FIPS).

  • CVE-2014-0067 Документирование рисков проверки инструкций тестирования на регрессии (Ноа Миш, Том Лэйн)

    Поскольку временный сервер запускаемый при помощи проверки, использует авторизацию trust, другой пользователь на той же самой машине может подключиться к ней от лица администратора базы данных и потенциально использовать привилегии пользователя операционной системы, запустившего проверки. В будущий выпуск будут скорее всего внесены изменения в процедуру тестирования для предотвращения этого риска, но сначала требуется публичное обсуждение. Поэтому пока просто предупредите людей, чтобы они не выполняли проверки, если на той же самой машине имеются недоверенные пользователи.

В стабильном выпуске (wheezy) эти проблемы были исправлены в версии 9.1_9.1.12-0wheezy1.

В нестабильном выпуске (sid) эти проблемы были исправлены в версии 9.3.3-1 пакета postgresql-9.3.

Рекомендуется обновить пакеты postgresql-9.1.