Неполное отслеживание в PostgreSQL таблиц с безопасностью на уровне строк позволяет повторно используемому запросу просматривать или изменя…
Неполное отслеживание в 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.
Продукт имеет или поддерживает несколько распределённых компонентов или подсистем, каждый из которых обязан хранить собственную локальную копию общих данных — например, состояния или кэша, — однако продукт не гарантирует согласованности всех локальных копий друг с другом.
https://cwe.mitre.org/data/definitions/1250.html →Открыть в коллекции CWE →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql | Отслеживается | |
| postgresql-12 | Отслеживается | |
| postgresql-13 | Отслеживается | |
| postgresql-14 | Отслеживается | |
| postgresql-15 | Отслеживается | |
| postgresql-15 | Отслеживается | |
| postgresql-16 | Отслеживается | |
| postgresql-16 | Отслеживается | |
| postgresql-16 | Отслеживается | |
| postgresql-17 | Отслеживается | |
| postgresql-17 | Отслеживается | |
| postgresql-17 | Отслеживается | |
| postgresql | * | Отслеживается |