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

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

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

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

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

Категории

Все категории
Loading categories
WebKitGTK-DND-Fix — Частное исследование и валидация восстановления перетаскивания файлов в WebKitGTK (продолжение CVE-2025-13947) | Kitploit
Инструменты/GitHubGitHub/sirredbeard/webkitgtk-dnd-fix
Анализ уязвимостейВеб-безопасностьОбучение и ОбразованиеПодобранные Ресурсы
GitHubsirredbeard/webkitgtk-dnd-fix

WebKitGTK-DND-Fix

Частное исследование и валидация восстановления перетаскивания файлов в WebKitGTK (продолжение CVE-2025-13947)

Репозиторий
11 ч 26 мин назадЕщё не проверено

Популярное

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

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

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

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

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

WebKitGTK-DND-Fix

Исследовательская и CI-записная книжка для восстановления доверенного перетаскивания файлов в WebKitGTK и WPE после CVE-2025-13947.

Суть проблемы

CVE-2025-13947 (WSA-2025-0009, GHSA-j77f-3hf7-7rvg) позволял веб-контенту читать содержимое локальных файлов через перетаскивание в WebKitGTK. Исправление в апстриме, bugs.webkit.org 303434, было широким отключением: allowsFileAccess() возвращает false на всех портах, отличных от Cocoa, поэтому dataTransfer.files пуст для любого перетаскивания, включая случай, когда пользователь перетаскивает собственный файл из файлового менеджера на цель загрузки. Браузеры в стиле Epiphany и встроенные интерфейсы загрузки WebKitGTK потеряли эту функцию. Bug 320301 — это сообщение конечного пользователя о той же регрессии.

Предлагаемое решение

Разделить доверие на границе платформы вместо отключения функции. Один коммит в форке движка, ветка sirredbeard/WebKit gtk-dnd-file-access-reenable:

  • SelectionData::setURIList() больше не преобразует строки uri-list в имена файлов. Разрешения на файлы поступают только из явных сеттеров, используемых двумя целями перетаскивания UIProcess и декодированием IPC.
  • allowsFileAccess() возвращает true только для реальных перетаскиваний файлов на GTK и WPE.
  • На GTK4 предоставляемый порталом GdkFileList имеет приоритет над параллельным uri-list, при этом одна и та же проверка хоста файлового URI применяется к обоим путям.
  • Перетаскивания, источником которых является то же приложение, лишаются имён файлов, а экспорт веб-перетаскиваний удаляет строки file:// и никогда не экспортирует GdkFileList.
  • file://host/path отклоняется, если хост не пуст и не равен localhost.
  • filenames передаётся через IPC как отдельное поле, а копия в веб-процессе очищается при начале перетаскивания.

Источники перетаскивания, созданные веб-контентом, не получают содержимого файлов. Пользовательские перетаскивания внешних файлов предоставляют dataTransfer.files. Вставка остаётся отключённой до аудита буфера обмена.

Статус

Отправлено в апстрим 2026-09-03.

  • Баг: https://bugs.webkit.org/show_bug.cgi?id=323277
  • Изменение: PR 73114 в WebKit/WebKit, ожидает проверки человеком
  • Первый раунд автоматической проверки пройден: два исправления приняты, одно принято с указанным ограничением тестов, одно отклонено со ссылкой на исходники GLib
  • Tip 2fd5c6cb7ea7, дерево bc272e2a5ebe, на текущем апстрим-main
  • Базовый уровень сборщика зелёный: сборки GTK4 и WPE, 11 тестов GLib API, 33 модульных теста GTK и 24 модульных теста WPE
  • EWS зелёный на всех очередях, которые запускались, включая gtk, gtk3-gcc и wpe
  • Отрицательные контроли по каждому тесту (откатить защиту, наблюдать за падением её тестов) зафиксированы для дерева d364838bce86; повторный прогон на текущем дереве предстоит

Документация

  • Исследования по темам: findings/
  • План действий: findings/upstream-strategy.md
  • Аудит покрытия относительно механизма CVE: findings/testing-plan.md
  • Текст поданного бага и подготовленные ответы: bug_report.md
  • Правила агента: .github/copilot-instructions.md

Практика репозитория

Один сжатый коммит на main, других веток нет. Механизмы проверки упаковки и GUI, предшествовавшие подходу только с движком, были удалены; findings/ сохраняет выводы в прозе.

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