Tina — это безголовая система управления контентом. До версии 2.1.2 TinaCMS позволяла пользователям создавать, обновлять и удалять документы с содержимым, используя относительные пути к файлам (relativePath, newRelativePath) посредством мутаций GraphQL. При определенных условиях эти пути объединяются с путем к коллекции с помощью path.join() без проверки того, что разрешенный путь остается в корневом каталоге коллекции.
Поскольку path.join() не предотвращает обход каталога, пути, содержащие последовательности ../, могут выйти за пределы предполагаемой границы каталога. Эта уязвимость исправлена в версии 2.1.2.
Показать оригинальное описание (EN)
Tina is a headless content management system. Prior to 2.1.2, TinaCMS allows users to create, update, and delete content documents using relative file paths (relativePath, newRelativePath) via GraphQL mutations. Under certain conditions, these paths are combined with the collection path using path.join() without validating that the resolved path remains within the collection root directory. Because path.join() does not prevent directory traversal, paths containing ../ sequences can escape the intended directory boundary. This vulnerability is fixed in 2.1.2.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Ssw Tinacms\/Graphql
cpe:2.3:a:ssw:tinacms\/graphql:*:*:*:*:*:node.js:*:*
|
— |
2.1.2
|