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

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

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

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

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

Категории

Все категории
Loading categories
gitea-CVE-2026-28699 — Лабораторная работа + анализ для CVE-2026-28699: Обход проверки областей OAuth2 в Gitea через базовую аутентификацию HTTP | Kitploit
Инструменты/GitHubGitHub/alardiians/gitea-cve-2026-28699
Аутентификация и авторизацияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеЛаборатории и Практика
GitHubalardiians/gitea-cve-2026-28699

gitea-CVE-2026-28699

Лабораторная работа + анализ для CVE-2026-28699: Обход проверки областей OAuth2 в Gitea через базовую аутентификацию HTTP

11241 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-28699: Обход области OAuth2 в Gitea через HTTP Basic Auth

Токен доступа OAuth2 Gitea, ограниченный только read:user, может выполнять полные операции записи, если он отправлен как Authorization: Basic base64(<token>:x-oauth-basic), а не как Bearer-токен. Проверка области пропускается для любого токена, переданного через Basic auth.

Затронуты: <= 1.26.1. Исправлено в 1.26.2. Уведомление: GHSA-9r5x-wg6m-x2rc. CWE-863. Серьёзность: высокая.

Полное описание: WRITEUP.md

Быстрый старт

pip install -r requirements.txt   # requests
python fetch_binaries.py          # pulls vulnerable 1.26.1 + patched 1.26.2 for your OS
python poc.py 1.26.1              # vulnerable: Basic-auth write succeeds (scope bypassed)
python poc.py 1.26.2              # patched: Basic-auth write blocked (403)

poc.py поднимает временную Gitea на SQLite в временной директории системы, выполняет поток кода авторизации OAuth2 для выпуска токена только с read:user, затем вызывает конечную точку записи как через Bearer, так и через Basic и выводит результат. Установите POC_DEBUG=1, чтобы увидеть шаги потока аутентификации.

Ожидаемый вывод

Vulnerable 1.26.1:

[Bearer] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
[Basic ] PATCH /api/v1/user/settings -> HTTP 200   (ALLOWED -- scope BYPASSED)
>>> VULNERABLE: read:user token performed a write via Basic auth.

Patched 1.26.2:

[Bearer] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
[Basic ] PATCH /api/v1/user/settings -> HTTP 403   (blocked)
>>> PATCHED: scope enforced on both Bearer and Basic.

Первопричина в одной таблице

Представление аутентификацииIsApiTokenApiTokenScopeобласть применена?
Токен OAuth2 через Bearertrueустановленда
Токен OAuth2 через Basictrueотсутствуетнет (отказ в открытом состоянии)
Персональный токен доступаtrueустановленда

Файл services/auth/basic.go устанавливал IsApiToken, но не ApiTokenScope для токенов OAuth2. Промежуточное ПО tokenRequiresScopes досрочно завершается, если область отсутствует, поэтому ничего не проверяется. Исправление в 1.26.2 добавляет недостающую строку store.GetData()["ApiTokenScope"] = accessTokenScope.

Файлы

ФайлНазначение
WRITEUP.mdАнализ первопричин, влияние, исправление, обнаружение
fetch_binaries.pyСкачивает бинарные файлы 1.26.1 / 1.26.2 для вашей ОС/архитектуры
poc.pyРазвёртывает Gitea, выпускает токен read:user, тестирует Bearer vs Basic
requirements.txtrequests

Только для авторизованного использования

Для обучения и авторизованного тестирования безопасности: ваша собственная лаборатория, машины CTF и HTB, цели в рамках программы bug bounty. PoC запускает свою собственную одноразовую Gitea, поэтому направляйте её только на то, что вам принадлежит.

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