Outline — это сервис, позволяющий совместно работать над документацией. Конечная точка API `shares.create`, начиная с версии 0.86.0 и до версии 1.7.0, имеет небезопасную прямую ссылку на объект. Когда в запросе указаны и `collectionId`, и `documentId`, логика авторизации проверяет только доступ к коллекции, полностью игнорируя документ.
Это позволяет злоумышленнику, прошедшему проверку подлинности, создать действительную общедоступную ссылку для любого документа на платформе, включая документы, принадлежащие другим рабочим областям. Полное содержимое документа затем можно получить через конечную точку `documents.info`. Версия 1.7.0 содержит патч.
Показать оригинальное описание (EN)
Outline is a service that allows for collaborative documentation. The `shares.create` API endpoint starting in version 0.86.0 and prior to version 1.7.0 has an insecure direct object reference.. When both `collectionId` and `documentId` are provided in the request, the authorization logic only checks access to the collection, completely ignoring the document. This allows an authenticated attacker to generate a valid public share link for any document on the platform, including documents belonging to other workspaces. The full document contents can then be retrieved via the `documents.info` endpoint. Version 1.7.0 contains a patch.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Getoutline Outline
cpe:2.3:a:getoutline:outline:*:*:*:*:*:*:*:*
|
0.86.0
|
1.7.0
|