Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
element-vector-drive-letter — Element Desktop v1.12.29 — высокий — локальный — файл — вектор: протокол читает файлы Windows за пределами asar-песочницы | Kitploit
Инструменты/GitHubGitHub/abraxas/element-vector-drive-letter
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВиртуализация для безопасностиТестирование на ПроникновениеЛаборатории и Практика
GitHubabraxas/element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 — высокий — локальный — файл — вектор: протокол читает файлы Windows за пределами asar-песочницы

Репозиторий
3 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Abraxas Labs - element-vector-drive-letter

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  element-vector-drive-letter

element-vector-drive-letter

Element Desktop v1.12.29 - Element Creations Ltd

Класс: Чтение файлов Доступ: Локальный

apps/desktop/src/electron-main.ts регистрирует vector: как привилегированный файловый протокол. Защита сводится лишь к relTarget.startsWith("..") после path.normalize(path.join(...pathname.split("/").slice(2))). В Windows объединение C:, Windows, win.ini уже даёт C:\Windows\win.ini. Абсолютные пути не начинаются с .., поэтому проверка их пропускает. Собственное примечание Electron о пользовательских протоколах также отвергает path.isAbsolute. POSIX-версия path.join не считает C: абсолютным путём, поэтому Linux и macOS не подвержены этой уязвимости. will-navigate пропускает vector:.

XSS в рендерере, DevTools или другой локальный процесс может выполнить fetch("vector://vector/webapp/C:/Windows/win.ini") и прочитать файлы, которые может открыть процесс Element.

IDCVE пока нет
CWECWE-22 / CWE-73
CVSSВысокий: 8.3 CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Продуктelement-web Desktop (apps/desktop)
Затронутоv1.12.29 (2d90d6b7b601ecb9ccdf81239a43b4396b4b0c9e). Только Windows.
Аутентификациялокальный рендерер (DevTools / XSS)
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Что может сделать атакующий

XSS в рендерере, DevTools или другой локальный процесс, способный обратиться к vector:. Нативный Windows Element Desktop не запускался. Гаджет копирует парсер URL из пина и использует Node path.win32.

ПривилегияМетод / точка входаРазведка / целостность / доступностьДоказано в лаборатории или выведено
Чтение файла, который может открыть процесс Elementfetch("vector://vector/webapp/C:/Windows/win.ini"). Защита сводится лишь к relTarget.startsWith(".."). Объединение с буквой диска даёт абсолютный путь, поэтому проверка проходит. path.win32.resolve(asar, relTarget) даёт C:\Windows\win.iniРазведкаДоказано в лаборатории на гаджете парсера URL. Тело — ELEMENT-VECTOR-DRIVE-LETTER-WITNESS. Нативный Desktop не запускался
То же чтение electron-config, профилей, файлов других пользователей с теми же ACLТот же fetch vector://vector/webapp/C:/...РазведкаВыведено. В лаборатории подложен win.ini, а не реальные секреты
ATO Matrix, если главный фрейм загружает HTML атакующего, уже находящийся на дискеwill-navigate пропускает vector:. Враждебный HTML по адресу vector://vector получает preload / window.electron (токены, Seshat, clearStorage)ЦелостностьВыведено из webcontents-handler.ts и preload. В лаборатории навигация BrowserWindow не выполнялась
Обход ../ по дереву asarvector://vector/webapp/../н/дЗакрыто здесь. WHATWG URL сворачивает его; обработчик возвращает FILE_NOT_FOUND (-6)
Запрос с буквой диска в POSIX / macOS / Linuxpath.posix.join оставляет C:/Windows/win.ini внутри asarн/дЗакрыто здесь. Гаджет posix 404, свидетеля нет
RCE / LPE в ОСnodeIntegration: false, app.enableSandbox()н/дЗакрыто. Не эта уязвимость

Другие уязвимости того же пина: fragment guest wipe, Univention ICS javascript: href.

Как я это нашёл

Я зафиксировал element-hq/element-web v1.12.29 после релиза на GitHub 22 сентября 2026 года. XSS в таймлайне, XSS в экспорте HTML (GHSA-wqmv), HTML на главной странице (GHSA-wrcp), токен медиа виджета (GHSA-3jm3) и ключи Element Call (GHSA-69q3) закрыты на этом теге. Пользовательский протокол Desktop по-прежнему проверяет только startsWith("..").

new URL("vector://vector/webapp/C:/Windows/win.ini") сохраняет C: как сегмент пути. path.win32.join("C:", "Windows", "win.ini") даёт C:\Windows\win.ini. Node path.win32.join(asar, abs) выполняет конкатенацию; path.win32.resolve отбрасывает корень asar.

Уже зафиксированные ошибочные пути: считать ../ уязвимостью (WHATWG сворачивает его, обработчик возвращает 404); называть POSIX C: той же ошибкой (posix join остаётся внутри asar); раздувать чтение файла до RCE в ОС (песочница и nodeIntegration: false остаются включёнными). Обратная оболочка. Театр.

Лаборатория

Гаджет парсера URL. Node path.win32 против path.posix. Процесс Windows Element Desktop отсутствует. Подложенный /lab/oracle/win.ini заменяет C:\Windows\win.ini. /lab/asar/index.html — это тюрьма asar.

python3 element-vector-drive-letter-Abraxas-Labs.py

или

cd lab
./run.sh

Цель только http://127.0.0.1:19610. Проект Compose element-vector-drive-letter. Стек разбирается после запуска.

SUCCESS element-vector-drive-letter how=gadget win32-drive-letter=200 posix-drive-letter=404 control-dotdot=404 patched-isabs=404 ELEMENT-VECTOR-DRIVE-LETTER-WITNESS

Исправление

После normalize отклонять path.isAbsolute(relTarget) и требовать, чтобы path.resolve(baseDir, relTarget) оставался внутри path.resolve(baseDir) (path.relative, отклонять ..).

Ссылки

  • github.com/element-hq/element-web тег v1.12.29
  • electron-main.ts (registerFileProtocol)
  • webcontents-handler.ts (will-navigate)
  • Рядом исправлено (не эта тюрьма): GHSA-wqmv · GHSA-wrcp
  • Тот же пин: element-fragment-guest · element-ics-javascript
  • CWE-22

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только лаборатория на loopback. Без гарантий.

Скачать инструмент