Механизм очереди pgologic, используемый для передачи внеполосных команд, таких как реплицированный DDL, от издателя к подписчику, выполняет полезные данные сообщений на подписчике на уровне привилегий применяемого работника, который эквивалентен суперпользователю PostgreSQL в установках по умолчанию. Сторона, выступающая в роли издателя, может отправлять созданные сообщения очереди, которые приводят к выполнению произвольного SQL-кода на подписчике в качестве суперпользователя, повышая роль от роли, которой разрешено использовать pgologic, до полного суперпользователя и нарушая изоляцию между арендаторами в общих развертываниях. Чтобы воспользоваться этой проблемой, злоумышленник должен иметь возможность направить подписку на конечную точку, которую он контролирует.
В установках по умолчанию для этого требуются привилегии, обычно зарезервированные для суперпользователя, поэтому эта проблема наиболее актуальна для управляемых развертываний, где возможность создания подписок делегирована ролям, не являющимся суперпользователями.
Показать оригинальное описание (EN)
The pglogical queue mechanism, used to convey out-of-band commands such as replicated DDL from a publisher to a subscriber, executes message payloads on the subscriber at the privilege level of the apply worker, which is equivalent to a PostgreSQL superuser in default installations. A party acting as the publisher can send crafted queue messages that cause arbitrary SQL to be executed on the subscriber as superuser, escalating from a role permitted to use pglogical to full superuser and breaking the isolation between tenants in shared deployments. To exploit the issue an attacker must be able to direct a subscription at an endpoint they control. In default installations this requires privileges normally reserved for a superuser, so the issue is most relevant to managed deployments where the ability to create subscriptions has been delegated to non-superuser roles.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Enterprisedb Pglogical
cpe:2.3:a:enterprisedb:pglogical:*:*:*:*:*:postgresql:*:*
|
2.0.0
|
2.4.8
|