В сигнальном коде работника pgologic существует условие использования после освобождения, где структура исполнителя может быть разыменована после того, как базовый слот был освобожден или перезапущен во время обычных событий жизненного цикла работника. Это состояние достижимо во время нормальной операции репликации, в том числе пользователем с низким уровнем привилегий, который может влиять на время запуска, остановки и перезапуска рабочего процесса посредством разрешенных pgлогических операций. В типичном случае это условие приводит к сбою работников репликации, что приводит к снижению доступности.
В худшем случае использование use-after-free в бэкэнде PostgreSQL может быть использовано как примитив удаленного выполнения кода с привилегиями этого бэкенда.
Показать оригинальное описание (EN)
A use-after-free condition exists in pglogical's worker signaling code, where a worker structure can be dereferenced after the underlying slot has been freed or recycled during normal worker lifecycle events. The condition is reachable during normal replication operation, including by a low-privileged user able to influence worker start, stop, and restart timing through permitted pglogical operations. In the typical case the condition crashes replication workers, causing an availability impact. In the worst case a use-after-free in a PostgreSQL backend can be leveraged as a remote code execution primitive at the privilege of that backend.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Enterprisedb Pglogical
cpe:2.3:a:enterprisedb:pglogical:*:*:*:*:*:postgresql:*:*
|
2.0.0
|
2.4.8
|