A flaw was discovered in postgresql versions 9.4.x before 9.4.24, 9.5.x before 9.5.19, 9.6.x before 9.6.15, 10.x before 10.10 and 11.x befor
A flaw was discovered in postgresql versions 9.4.x before 9.4.24, 9.5.x before 9.5.19, 9.6.x before 9.6.15, 10.x before 10.10 and 11.x before 11.5 where arbitrary SQL statements can be executed given a suitable SECURITY DEFINER function. An attacker, with EXECUTE permission on the function, can execute arbitrary SQL as the owner of the function.
- BDU:2019-03221
- DLA-1874-1
- DSA-4492-1
- DSA-4493-1
- openSUSE-SU-2019:2062-1
- openSUSE-SU-2020:1227-1
- openSUSE-SU-2024:11184-1
- openSUSE-SU-2024:11185-1
- RHSA-2020:0980
- RHSA-2020:3669
- RHSA-2020:4295
- RHSA-2020:5619
- RHSA-2020:5661
- RHSA-2020:5664
- RHSA-2021:0164
- RHSA-2021:0166
- RHSA-2021:0167
- RHSA-2021:1512
- SUSE-SU-2019:2158-1
- SUSE-SU-2019:2159-1
- Опубликовано
- 29 окт. 2019 г.
- Обновлено
- 16 июн. 2026 г.
- EPSS
- 2,2 % · 82-й процентиль
- CWE
- CWE-89
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
36
Наблюдать
Пока низкий приоритет.
- CVSS
- 35 / 40 · 8.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 1 / 30 · 2,2 %
Оценка CNA и NVD
- NVD
- 8,8
- CNA · redhat
- 7,5
- разница 1,3 балла
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для сотен тысяч уязвимостей в базе; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЗатронутые системы
| Вендор | Продукт | CPE |
|---|---|---|
| postgresql | postgresql | cpe:2.3:a:postgresql:postgresql |
Используете postgresql? Добавьте в свой стек и первыми узнавайте о подобных CVE. (PostgreSQL)
Затронутые версии
Диапазоны версий NVD (для продуктов из каталога). Добавьте продукт в стек с версией, и сопоставление будет по ним.
- postgresql postgresql9.4.0 и новее · до 9.4.24
- postgresql postgresql9.5.0 и новее · до 9.5.19
- postgresql postgresql9.6.0 и новее · до 9.6.15
- postgresql postgresql10.0 и новее · до 10.10
- postgresql postgresql11.0 и новее · до 11.5
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (redhat). Не зависят от анализа CPE в NVD и обычно опережают его.
PostgreSQL postgresql
- all 11.x before 11.5, all 10.x before 10.10, all 9.6.x before 9.6.15, all 9.5.x before 9.5.19, all 9.4.x before 9.4.24затронута
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Alpine:v3.10 | postgresql | с 9.4.0 · до 11.5-r0 | 11.5-r0 |
| Alpine:v3.15 | postgresql14 | до 11.5-r0 | 11.5-r0 |
| Alpine:v3.17 | postgresql15 | до 11.5-r0 | 11.5-r0 |
| Alpine:v3.7 | postgresql | с 9.4.0 · до 10.10-r0 | 10.10-r0 |
| Debian:10 | postgresql-11 | до 11.5-1+deb10u1 | 11.5-1+deb10u1 |
| Debian:8 | postgresql-9.4 | до 9.4.24-0+deb8u1 | 9.4.24-0+deb8u1 |
| Debian:9 | postgresql-9.6 | до 9.6.15-0+deb9u1 | 9.6.15-0+deb9u1 |
| openSUSE:Leap 15.0 | postgresql10 | до 10.10-lp151.2.6.1 | 10.10-lp151.2.6.1 |
| openSUSE:Leap 15.1 | postgresql | до 12.0.1-lp151.6.9.1 | 12.0.1-lp151.6.9.1 |
| openSUSE:Leap 15.1 | postgresql10 | до 10.13-lp151.2.14.1 | 10.13-lp151.2.14.1 |
| openSUSE:Leap 15.1 | postgresql12 | до 12.3-lp151.2.1 | 12.3-lp151.2.1 |
| openSUSE:Leap 15.1 | postgresql96 | до 9.6.19-lp151.3.3.1 | 9.6.19-lp151.3.3.1 |
| openSUSE:Tumbleweed | postgresql10 | до 10.18-1.3 | 10.18-1.3 |
| openSUSE:Tumbleweed | postgresql11 | до 11.13-1.3 | 11.13-1.3 |
| Red Hat:enterprise_linux:7::client | postgresql | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-contrib | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-debuginfo | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-devel | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-docs | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-libs | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-plperl | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-plpython | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-pltcl | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
| Red Hat:enterprise_linux:7::client | postgresql-server | до 0:9.2.24-6.el7_9 | 0:9.2.24-6.el7_9 |
+96
Тот же продукт
postgresql: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2017-7546PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allowing remote attackers57В плане
- CVE-2019-9193In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_server_program' group to 55В плане
- CVE-2020-25695A flaw was found in PostgreSQL versions before 13.1, before 12.5, before 11.10, before 10.15, before 9.6.20 and before 9.5.24.49В плане
- CVE-2007-3280The Database Link library (dblink) in PostgreSQL 8.1 implements functions via CREATE statements that map to arbitrary libraries based on the44В плане
- CVE-2013-1899Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows remote attackers to ca42В плане
- CVE-2018-16850postgresql before versions 11.1, 10.6 is vulnerable to a to SQL injection in pg_upgrade and pg_dump via CREATE TRIGGER ...41В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| alpine:postgresql | 11.5-r0 · Alpine:v3.10 | Реестр пакетов (OSV) |
| alpine:postgresql14 | 11.5-r0 · Alpine:v3.15 | Реестр пакетов (OSV) |
| alpine:postgresql15 | 11.5-r0 · Alpine:v3.17 | Реестр пакетов (OSV) |
| debian:postgresql-11 | 11.5-1+deb10u1 · Debian:10 | Реестр пакетов (OSV) |
| debian:postgresql-9.4 | 9.4.24-0+deb8u1 · Debian:8 | Реестр пакетов (OSV) |
| debian:postgresql-9.6 | 9.6.15-0+deb9u1 · Debian:9 | Реестр пакетов (OSV) |
| opensuse:postgresql | 12.0.1-lp151.6.9.1 · openSUSE:Leap 15.1 | Реестр пакетов (OSV) |
| opensuse:postgresql10 | 10.10-lp151.2.6.1 · openSUSE:Leap 15.0 | Реестр пакетов (OSV) |
| opensuse:postgresql11 | 11.13-1.3 · openSUSE:Tumbleweed | Реестр пакетов (OSV) |
| opensuse:postgresql12 | 12.3-lp151.2.1 · openSUSE:Leap 15.1 | Реестр пакетов (OSV) |
| opensuse:postgresql96 | 9.6.19-lp151.3.3.1 · openSUSE:Leap 15.1 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-contrib | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-contrib-syspaths | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-debuginfo | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-devel | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-docs | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-libs | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-plperl | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-plpython | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-pltcl | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-server | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| red hat:rh-postgresql10-postgresql-server-syspaths | 0:10.12-2.el7 · Red Hat:rhel_software_collections:3::el7 | Реестр пакетов (OSV) |
| suse:postgresql10 | 10.10-4.16.1 · SUSE:Linux Enterprise Module for Basesystem 15 | Реестр пакетов (OSV) |
| suse:postgresql94 | 9.4.24-21.25.1 · SUSE:OpenStack Cloud 7 | Реестр пакетов (OSV) |
| suse:postgresql96 | 9.6.15-3.29.1 · SUSE:HPE Helion OpenStack 8 | Реестр пакетов (OSV) |
| suse:postgresql96-libs | 9.6.15-3.29.1 · SUSE:HPE Helion OpenStack 8 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Национальное уведомление (Управление кибербезопасности Турции / USOM)
Официальные уведомления, ссылающиеся на эту запись; рекомендации — на странице ведомства.
- TR-20-620 · 18 авг. 2020 г.(Postgresql Sunucu Güvenlik Güncellemesi)
- TR-20-094 · 18 февр. 2020 г.(Postgresql Sunucu Güvenlik Güncellemesi)
- TR-19-218 · 17 окт. 2019 г.(Postgresql10 Sunucu Güvenlik Güncellemesi)
Технические детали
Условия атаки
- Может быть вызвана любым, у кого есть доступ через интернет.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Сеть
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
CWE-89 · Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')Вектор CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Первопричина
Текст запроса формируется конкатенацией с пользовательским вводом. СУБД не может определить, где заканчиваются данные и начинается команда.
Ошибка в коде
Весь класс CWE-89Показательный пример этого класса уязвимостей. Это не исходный код вендора; показан ошибочный шаблон и его исправление.
Уязвимый код
const owner = req.query.owner;const rows = await db.query( "SELECT * FROM files WHERE owner = '" + owner + "'");Исправленный код
const owner = req.query.owner;const rows = await db.query( "SELECT * FROM files WHERE owner = $1", [owner]);Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
Шаблоны атак (CAPEC)
- Command Line Execution through SQL InjectionCAPEC-108вероятность: Low · Very High
- Object Relational Mapping InjectionCAPEC-109вероятность: Low · High
- SQL Injection through SOAP Parameter TamperingCAPEC-110вероятность: High · Very High
- Expanding Control over the Operating System from the DatabaseCAPEC-470Very High
- SQL InjectionCAPEC-66вероятность: High · High
- Blind SQL InjectionCAPEC-7вероятность: High · High
Техники ATT&CK
—
Журнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- lists.opensuse.org/opensuse-security-announce/2020-08/msg00043.html
- bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-10208
- www.postgresql.org/about/news/1960/
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.