Postgresql-14
Уязвимости
25
Эксплуатируемые
0
Макс. CVSS
8.8
Макс. EPSS
0.89472
Распределение по критичности
Критический
0
Высокий
11
Средний
7
Низкий
7
Также сопоставлено как (исходные строки): postgresql-14
Топ уязвимостей
CVE-2025-8715Выполнение произвольного кода в Postgres Pro Certified, PostgreSQL
CVE-2025-8714Выполнение произвольного кода в Postgres Pro Certified, PostgreSQL
CVE-2024-10979Некорректный контроль переменных окружения в PostgreSQL PL/Perl позволяет непривилегированному пользователю базы данных изменять важные переменные окружения процесса (например, PATH). Этого часто достаточно для выполнения произвольного кода, даже если у злоумышленника нет пользователя операционной системы сервера базы данных. Уязвимы версии до PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 и 12.21.
CVE-2023-5869В PostgreSQL обнаружена уязвимость, позволяющая аутентифицированным пользователям базы данных выполнять произвольный код из-за отсутствия проверок переполнения во время изменения значения массива SQL. Эта проблема существует из-за целочисленного переполнения во время изменения массива, когда удаленный пользователь может вызвать переполнение, предоставив специально созданные данные. Это позволяет выполнять произвольный код в целевой системе, позволяя пользователям записывать произвольные байты в память и экстенсивно читать память сервера.
CVE-2022-1552В PostgreSQL обнаружена ошибка. Существует проблема с неполными усилиями по безопасной работе, когда привилегированный пользователь обслуживает объекты другого пользователя. Команды Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER и pg_amcheck активировали соответствующие защиты слишком поздно или вообще не активировали их в процессе. Эта ошибка позволяет злоумышленнику с разрешением создавать невременные объекты как минимум в одной схеме выполнять произвольные функции SQL под идентификатором суперпользователя.
CVE-2025-1094Неправильная нейтрализация синтаксиса кавычек в функциях PostgreSQL libpq PQescapeLiteral(), PQescapeIdentifier(), PQescapeString() и PQescapeStringConn() позволяет поставщику ввода данных базы данных добиться SQL-инъекции в определенных шаблонах использования. В частности, SQL-инъекция требует от приложения использования результата функции для создания ввода в psql, интерактивный терминал PostgreSQL. Аналогично, неправильная нейтрализация синтаксиса кавычек в утилитах командной строки PostgreSQL позволяет источнику аргументов командной строки добиться SQL-инъекции, когда client_encoding является BIG5, а server_encoding — одним из EUC_TW или MULE_INTERNAL. Версии до PostgreSQL 17.3, 16.7, 15.11, 14.16 и 13.19 подвержены риску.
CVE-2024-0985Позднее снижение привилегий в REFRESH MATERIALIZED VIEW CONCURRENTLY в PostgreSQL позволяет создателю объекта выполнять произвольные SQL функции в качестве инициатора команды. Команда предназначена для выполнения SQL функций как владельца материализованного представления, обеспечивая безопасное обновление ненадежных материализованных представлений. Жертва – это супервизор или член одной из ролей злоумышленника. Атаке требуется обманом заставить жертву выполнить REFRESH MATERIALIZED VIEW CONCURRENTLY на материализованном представлении злоумышленника. Версии до PostgreSQL 16.2, 15.6, 14.11, 13.14 и 12.18 затронуты.
CVE-2024-7348Состояние гонки Time-of-check Time-of-use (TOCTOU) в pg_dump в PostgreSQL позволяет создателю объекта выполнять произвольные SQL-функции от имени пользователя, запускающего pg_dump, которым часто является суперпользователь. Атака включает замену другого типа отношения представлением или внешней таблицей. Атака требует ожидания запуска pg_dump, но выиграть состояние гонки тривиально, если злоумышленник сохраняет открытую транзакцию. Затронуты версии до PostgreSQL 16.4, 15.8, 14.13, 13.16 и 12.20.
CVE-2023-39417В EXTENSION SCRIPT была обнаружена SQL-инъекция в PostgreSQL, если он использует @extowner@, @extschema@ или @extschema:...@ внутри конструкции цитирования (долларовое цитирование, '', или "). Если администратор установил файлы уязвимого, доверенного, не входящего в комплект расширения, злоумышленник с привилегией CREATE на уровне базы данных может выполнить произвольный код в качестве суперпользователя bootstrap.
CVE-2023-2454schema_element отменяет защитные изменения search_path; Было обнаружено, что определенные вызовы базы данных в PostgreSQL могут позволить аутентифицированному злоумышленнику с повышенными привилегиями на уровне базы данных выполнить произвольный код.
CVE-2022-2625В PostgreSQL была обнаружена уязвимость. Эта атака требует разрешения на создание невременных объектов хотя бы в одной схеме, возможности заманить или дождаться, пока администратор создаст или обновит затронутое расширение в этой схеме, а также возможности заманить или дождаться, пока жертва использует объект, на который нацелены CREATE OR REPLACE или CREATE IF NOT EXISTS. При наличии всех трех предварительных условий эта уязвимость позволяет злоумышленнику выполнять произвольный код от имени роли жертвы, которая может быть суперпользователем.
CVE-2025-4207Переполнение буфера при проверке кодировки GB18030 в PostgreSQL позволяет поставщику данных базы данных вызвать временный отказ в обслуживании на платформах, где чтение одного байта за пределами выделения может привести к завершению процесса. Это затрагивает сервер базы данных и libpq. Версии до PostgreSQL 17.5, 16.9, 15.13, 14.18 и 13.21 подвержены этой уязвимости [1].
Источники:
- [1] https://www.postgresql.org/support/security/CVE-2025-4207/
CVE-2025-12818Комбинация в нескольких функциях библиотеки PostgreSQL libpq позволяет поставщику приложений или сетевому однорангу дистанционному чиселу заставлять libpq увеличивать распределение и писать за пределами сотнями мегабайт. Это приводит к ошибке сегментации для приложения с использованием libpq. Поражаются версии перед PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20 и 13.23.
CVE-2020-21469Обнаружена проблема в PostgreSQL 12.2, позволяющая злоумышленникам вызывать отказ в обслуживании путем многократной отправки сигналов SIGHUP. ПРИМЕЧАНИЕ: это оспаривается поставщиком, поскольку ненадежные пользователи не могут отправлять сигналы SIGHUP; они могут быть отправлены только суперпользователем PostgreSQL, пользователем с доступом pg_reload_conf или пользователем с достаточными привилегиями на уровне ОС (учетная запись postgres или учетная запись root).
CVE-2023-5868В PostgreSQL обнаружена уязвимость раскрытия памяти, которая позволяет удаленным пользователям получать доступ к конфиденциальной информации путем эксплуатации определенных вызовов агрегатных функций с аргументами типа 'unknown'. Обработка значений типа 'unknown' из строковых литералов без указания типа может привести к раскрытию байтов, что потенциально может раскрыть важную и конфиденциальную информацию. Эта проблема существует из-за избыточного вывода данных при вызовах агрегатных функций, что позволяет удаленным пользователям читать часть системной памяти.
CVE-2024-10978Неправильное назначение привилегий в PostgreSQL позволяет менее привилегированному пользователю приложения просматривать или изменять строки, отличные от предполагаемых. Для атаки требуется, чтобы приложение использовало SET ROLE, SET SESSION AUTHORIZATION или эквивалентную функцию. Проблема возникает, когда запрос приложения использует параметры от злоумышленника или передает результаты запроса злоумышленнику. Если этот запрос реагирует на current_setting('role') или текущий идентификатор пользователя, он может изменить или вернуть данные, как если бы сеанс не использовал SET ROLE или SET SESSION AUTHORIZATION. Злоумышленник не контролирует, какой неправильный идентификатор пользователя применяется. Текст запроса из менее привилегированных источников здесь не вызывает беспокойства, поскольку SET ROLE и SET SESSION AUTHORIZATION не являются песочницами для непроверенных запросов. Затронуты версии до PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 и 12.21.
CVE-2024-10976Неполное отслеживание в PostgreSQL таблиц с безопасностью на уровне строк позволяет повторно используемому запросу просматривать или изменять строки, отличные от предполагаемых. CVE-2023-2455 и CVE-2016-2193 исправили большинство взаимодействий между безопасностью на уровне строк и изменениями идентификатора пользователя. Они пропустили случаи, когда подзапрос, запрос WITH, представление вызова безопасности или функция SQL-языка ссылаются на таблицу с политикой безопасности на уровне строк. Это имеет те же последствия, что и два предыдущих CVE. То есть это приводит к потенциально неправильным политикам, применяемым в случаях, когда используются политики, специфичные для ролей, и данный запрос планируется под одной ролью, а затем выполняется под другими ролями. Этот сценарий может произойти в функциях определения безопасности или когда общий пользователь и запрос планируются изначально, а затем повторно используются в нескольких SET ROLE. Применение неправильной политики может позволить пользователю выполнить запрещенные в противном случае операции чтения и изменения. Это касается только баз данных, в которых для определения политики безопасности на уровне строк использовалась команда CREATE POLICY. Злоумышленник должен адаптировать атаку к конкретной схеме повторного использования плана запросов приложения, изменениям идентификатора пользователя и политикам безопасности на уровне строк, специфичным для ролей. Затронуты версии до PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 и 12.21.
CVE-2023-2455Политики безопасности строк игнорируют изменения идентификатора пользователя после встраивания; PostgreSQL может позволить применять неправильные политики в определенных случаях, когда используются политики, специфичные для ролей, и данный запрос планируется под одной ролью, а затем выполняется под другими ролями. Этот сценарий может произойти в функциях определения безопасности или когда общий пользователь и запрос изначально планируются, а затем повторно используются в нескольких SET ROLE. Применение неправильной политики может позволить пользователю завершить запрещенные в противном случае операции чтения и изменения. Это затрагивает только базы данных, в которых использовалась команда CREATE POLICY для определения политики безопасности строк.
CVE-2022-41862В PostgreSQL измененный, неаутентифицированный сервер может отправить незавершенную строку во время установления транспортного шифрования Kerberos. В определенных условиях сервер может заставить клиент libpq перечитать и сообщить сообщение об ошибке, содержащее неинициализированные байты.
CVE-2025-8713Статистика оптимизаторов PostgreSQL позволяет пользователю читать отобранные данные в представлении, к которому пользователь не может получить доступ. Отдельно статистика позволяет пользователю читать отобранные данные, которые политика безопасности строки предназначена для сокрытия. PostgreSQL ведет статистику таблиц путем выборки данных, имеющихся в колонках; с данными проводятся консультации в процессе планирования запросов. До этого выпуска пользователь мог создать протекающий оператор, который обходил списки контроля доступа (ACL) и обходил политики безопасности рядов в иерархиях разделов или таблицы наследования. Доступные статистические данные, в частности, включали гистограммы и списки наиболее общительных значений. CVE-2017-7484 и CVE-2019-10130 намеревались закрыть этот класс уязвимости, но этот разрыв остался. Поражаются версии перед PostgreSQL 17.6, 16.10, 15.14, 14.19 и 13.22.
CVE-2025-12817Отсутствие авторизации в команде PostgreSQL CREATE STATISTICS позволяет владельцу стола добиваться отказа в обслуживании других пользователей CREATE STATISTICS путем создания в любой схеме. Позже СТАТИСТИКА CREATE для того же имени, от пользователя, имеющего привилегию CREATE, затем потерпит неудачу. Поражаются версии перед PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20 и 13.23.
CVE-2024-4317Отсутствие авторизации во встроенных представлениях PostgreSQL pg_stats_ext и pg_stats_ext_exprs позволяет непривилегированному пользователю базы данных читать наиболее распространенные значения и другую статистику из команд CREATE STATISTICS других пользователей. Наиболее распространенные значения могут раскрывать значения столбцов, которые злоумышленник не смог бы прочитать иным способом, или результаты функций, которые он не может выполнить. Установка незатронутой версии исправляет только новые установки PostgreSQL, а именно те, которые создаются с помощью утилиты initdb после установки этой версии. Текущие установки PostgreSQL останутся уязвимыми, пока они не выполнят инструкции в примечаниях к выпуску. В основных версиях 14-16 затронуты минорные версии до PostgreSQL 16.3, 15.7 и 14.12. Версии до PostgreSQL 14 не затронуты.
CVE-2024-10977Использование клиентом сообщения об ошибке сервера в PostgreSQL позволяет серверу, не являющемуся доверенным в соответствии с текущими настройками SSL или GSS, предоставлять произвольные не-NUL байты приложению libpq. Например, злоумышленник, находящийся посередине, может отправить длинное сообщение об ошибке, которое человек или пользователь psql, считывающий данные с экрана, ошибочно примет за допустимые результаты запроса. Это, вероятно, не вызывает беспокойства для клиентов, где пользовательский интерфейс однозначно указывает границу между одним сообщением об ошибке и другим текстом. Затронуты версии до PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17 и 12.21.
CVE-2023-39418В PostgreSQL обнаружена уязвимость при использовании команды MERGE, которая не проверяет новые строки на соответствие политикам безопасности строк, определенным для UPDATE и SELECT. Если политики UPDATE и SELECT запрещают некоторые строки, которые не запрещают политики INSERT, пользователь может хранить такие строки.
CVE-2023-5870В PostgreSQL обнаружена уязвимость, связанная с ролью pg_cancel_backend, которая сигнализирует фоновым процессам, включая средство запуска логической репликации, процессы автоочистки и средство запуска автоочистки. Успешная эксплуатация требует стороннего расширения с менее устойчивым фоновым процессом и затронет только этот конкретный фоновый процесс. Эта проблема может позволить удаленному пользователю с высокими привилегиями запустить атаку типа «отказ в обслуживании» (DoS).