CVE-2026-33678

HIGH CVSS 3.1: 8,1 EPSS 0.03%
Обновлено 25 марта 2026
Vikunja
Параметр Значение
CVSS 8,1 (HIGH)
Тип уязвимости CWE-639 (Обход авторизации)
Поставщик Vikunja
Публичный эксплойт Нет

Vikunja — это автономная платформа управления задачами с открытым исходным кодом. До версии 2.2.1 TaskAttachment.ReadOne() запрашивает вложения только по идентификатору («WHERE id = ?»), игнорируя идентификатор задачи из URL-пути. Проверка разрешений в CanRead() подтверждает доступ к задаче, указанной в URL-адресе, но ReadOne() загружает другое вложение, которое может принадлежать задаче в другом проекте.

Это позволяет любому аутентифицированному пользователю загружать или удалять любое вложение в системе, предоставляя свой собственный доступный идентификатор задачи с идентификатором целевого вложения. Идентификаторы вложений представляют собой последовательные целые числа, что упрощает перечисление. Версия 2.2.1 исправляет проблему.

Показать оригинальное описание (EN)

Vikunja is an open-source self-hosted task management platform. Prior to version 2.2.1, `TaskAttachment.ReadOne()` queries attachments by ID only (`WHERE id = ?`), ignoring the task ID from the URL path. The permission check in `CanRead()` validates access to the task specified in the URL, but `ReadOne()` loads a different attachment that may belong to a task in another project. This allows any authenticated user to download or delete any attachment in the system by providing their own accessible task ID with a target attachment ID. Attachment IDs are sequential integers, making enumeration trivial. Version 2.2.1 patches the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1