CVE-2026-42810 in Polaris
Сводка
по VulDB • 17.05.2026
Apache Polaris принимает литеральные символы `*` в именах пространств имен и таблиц. При последующем формировании временных политик доступа к S3 для делегированного доступа к таблицам эти же символы, по-видимому, повторно используются без экранирования в шаблонах ресурсов S3 IAM и условиях `s3:prefix`.
В процессе сопоставления политик S3 IAM символ `*` трактуется как подстановочный знак (wildcard), а не как обычный текст. Это означает, что временные учетные данные, выданные для одной специально созданной (crafted) таблицы, могут совпадать с путем хранения в хранилище для другой таблицы.
В ходе закрытого тестирования Polaris версии 1.4.0 с использованием пути временных учетных данных AWS S3 Polaris как на MinIO, так и на реальном AWS S3, учетные данные, возвращаемые для специально созданных таблиц, таких как `f*.t1`, `f*.*`, `*.*` и `foo.*`, позволяли получить доступ к расположению S3 других таблиц.
Подтвержденное поведение включает:
- чтение файла управления метаданными другой таблицы ([Iceberg metadata JSON]);
- перечисление точного префикса таблицы S3 другой таблицы ([table prefix]);
- и, при наличии делегирования прав на запись для специально созданной таблицы, создание и удаление объекта в пределах точного префикса таблицы S3 другой таблицы.
Контрольный случай с использованием обычных различных имен не позволял осуществлять такой кросс-табличный доступ.
Также была подтверждена вариация AWS S3 с принципом наименьших привилегий, при которой атакующий субъект не имел прав Polaris для доступа к таблице жертвы и обладал только минимальными правами, необходимыми для создания и использования специально созданной таблицы с подстановочными знаками (пространство имен `TABLE_CREATE` и `TABLE_WRITE_DATA` для `*`). В этой конфигурации прямой доступ Polaris к `foo.t1` оставался запрещенным, однако атакующий все же мог создать и загрузить `*.*`, получить делегированные учетные данные S3 и использовать эти учетные данные для перечисления, чтения, создания и удаления объектов в пределах `foo.t1`.
В Iceberg файл метаданных JSON является файлом управления: он указывает читателям, какие файлы данных принадлежат таблице, какие снимки (snapshots) существуют и какую версию таблицы следует читать. Таким образом, несанкционированный доступ к нему уже представляет собой значительную проблему конфиденциальности. Подтвержденная вариация с возможностью записи означает, что проблема не ограничивается только раскрытием информации.
If you want to get best quality of vulnerability data, you may have to visit VulDB.