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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-8069 — Технический разбор и proof-of-concept для CVE-2026-8069 — локального повышения привилегий в службах Acer NitroSense и PredatorSense, использующего именованный канал для выполнения произвольного кода с правами SYSTEM. | Kitploit
Инструменты/GitHubGitHub/s1eezer/cve-2026-8069
Повышение привилегийФреймворки для эксплойтовАнализ уязвимостейЭксплуатацияОбратная инженерияАнализ Бинарных Файлов
GitHubs1eezer/cve-2026-8069

CVE-2026-8069

Технический разбор и proof-of-concept для CVE-2026-8069 — локального повышения привилегий в службах Acer NitroSense и PredatorSense, использующего именованный канал для выполнения произвольного кода с правами SYSTEM.

Репозиторий
191 месяц назадЕщё не проверено

Популярное

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

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

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

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

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

От именованного канала Acer к NT AUTHORITY\SYSTEM: CVE-2026-8069

Acer NitroSense и PredatorSense 3.x устанавливали службу Windows под названием PSSvc, которая предоставляла локальным пользователям доступ к пользовательскому протоколу именованных каналов. Одна из команд протокола принимала управляемый вызывающей стороной путь к исполняемому файлу, дублировала токен winlogon.exe и запускала этот исполняемый файл от имени NT AUTHORITY\SYSTEM.

Ограничение пути в уязвимой службе представляло собой проверку подстроки. Путь, начинавшийся внутри каталога службы и затем использующий компоненты ..\, проходил проверку, но разрешался в другое место. В сочетании с разрешающим контролем доступа к каналу и отсутствием авторизации вызывающей стороны это позволяло обычному локальному пользователю получить процесс SYSTEM.

Acer присвоил CVE-2026-8069, опубликовал исправленные версии и указал Артема Домарева из Университета Градец-Кралове в своем уведомлении о безопасности.

Эта статья посвящена пути создания процесса/повышения привилегий (LPE). В уведомлении Acer также описывается произвольное удаление файлов, которое не входило в рамки данной проверки.

Почему я выбрал это направление исследований

На выбор направления исследований также повлиял публичный анализ OEM-программного обеспечения, опубликованный Леоном Джейкобсом из SensePost. В этой работе были задокументированы уязвимости в ASUS DriverHub, MSI Center, Acer Control Centre и Razer Synapse 4 (Jacobs, 2025). Это подтвердило идею о том, что поставляемые вендором аппаратные утилиты могут предоставлять значимую и недостаточно изученную поверхность атаки. Вместо повторного исследования Acer Control Centre я расширил исследование на другое семейство продуктов Acer: NitroSense и PredatorSense.

Краткое резюме

ПунктРезультат
CVECVE-2026-8069
Протестированный уязвимый компонентPSSvc.exe 3.1.3052.0, подписанный Acer Incorporated
Идентификатор службыLocalSystem
Конечная точка IPC\\.\pipe\predatorsense_service_namedpipe
Уязвимая команда0x0007
Требуемый доступ злоумышленникаАутентифицированный локальный пользователь, способный запускать программу
Взаимодействие с пользователемНет
РезультатПроизвольный исполняемый файл запускается от имени NT AUTHORITY\SYSTEM
NVD CVSS v3.17.8 High — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Исправленные версииPredatorSense 3.00.3198; NitroSense 3.01.3056

Цепочка эксплуатации коротка:

аутентифицированный локальный пользователь
        │
        ▼
разрешающий именованный канал PSSvc
        │  пользовательская команда 0x0007
        ▼
проверка пути только по подстроке
        │  service-dir\..\..\..\Windows\System32\cmd.exe
        ▼
дублирование токена winlogon.exe активного сеанса
        │
        ▼
CreateProcessAsUserW → NT AUTHORITY\SYSTEM

Предупреждение о номерах версий

В публичных формулировках есть несоответствие. На странице Acer указано, что уязвимы версии NitroSense «до 3.01.3052», однако подписанная вендором версия PSSvc.exe 3.1.3052.0, протестированная для этой статьи, очевидно уязвима. На той же странице NitroSense 3.01.3056 указан как исправленная версия. Диапазон применимости NVD также распространяется вплоть до 3.01.3056, но не включая её.

Для PredatorSense предложение Acer об уязвимых версиях заканчивается перед 3.00.3196, тогда как указанная исправленная версия — 3.00.3198, и NVD использует последнюю в качестве верхней границы.

Поэтому консервативное операционное правило простое: не используйте неоднозначное предложение об «уязвимых» версиях как проверку наличия исправления. Обновитесь как минимум до исправленных версий, указанных Acer — PredatorSense 3.00.3198 или NitroSense 3.01.3056 — или до более нового пакета, совместимого с моделью.

Протестированные артефакты

Проблема была воспроизведена с оригинальным пакетом NitroSense.

АртефактSHA-256
NitroSense_V3.01.3052_MSFT_SIGNED_20230420.zip947FB7C62665875450AFA9C9E7919D2B061ED8197C11B28D64781F121B30C157
NitroSense.msi6F9D405B6D2ADF2992C4E071453AD2C919A6DD38A89A31EF96EAFE81C50A745C
Установленный PSSvc.exe 3.1.3052.03BA836B6A5D95B55708E771B74F49098F58B096EF1F63C5CCAE355811E193A40
PoC, использованный для проверки31BC81140BAB64A8B0CB70ACC1C2CF3CA84A7B00015E5610AC075DC50DCB0163

Подпись Authenticode PSSvc.exe успешно прошла проверку и связана с Acer Incorporated. MSI установил PSSvc как службу с запуском по требованию и собственным процессом, работающую от имени LocalSystem.

Как я нашёл уязвимый путь

1. Начните с привилегированной службы

Пакет NitroSense устанавливает:

SERVICE_NAME: PSSvc
DISPLAY_NAME: Predator Service
TYPE:         WIN32_OWN_PROCESS
START_TYPE:   DEMAND_START
ACCOUNT:      LocalSystem

Служба SYSTEM не является автоматически уязвимой. Важный вопрос заключается в том, может ли процесс с более низкими привилегиями получить доступ к функциональности, которая была разработана в предположении, что её вызывающая сторона доверена.

Анализ строк сразу выявил конечную точку IPC:

\\.\pipe\predatorsense_service_namedpipe

2. Проверьте дескриптор безопасности именованного канала

По адресу 0x140014AD0 служба создаёт канал и передаёт явный дескриптор безопасности в CreateNamedPipeW:

D:(A;OICI;GA;;;BG)(D;OICI;GA;;;AN)(A;OICI;GRGWGX;;;AU)(A;OICI;GA;;;BA)

Это стоит явно уточнить: уязвимая сборка не передаёт NULL-дескриптор. Она создаёт разрешающий DACL.

Сокращение SIDСубъектЭффективное разрешение в SDDL
BGВстроенные гостиПолный доступ
ANАнонимныеПолный доступ запрещён
AUАутентифицированные пользователиЧтение, запись и выполнение
BAВстроенные администраторыПолный доступ

ACE AU достаточно, чтобы обычный аутентифицированный пользователь мог открыть канал для чтения и записи. Затем сервер не олицетворяет клиента и не выполняет решение об авторизации перед отправкой привилегированных команд.

3. Восстановите формат провода

Поток клиента по адресу 0x14000ABB0 считывает сообщения в буфер размером 512 байт. Он разбирает первые три байта как 16-битный номер команды и 8-битное количество аргументов. Каждый аргумент имеет префикс длины:

Смещение  Размер  Значение
0x00      2       идентификатор команды, little-endian
0x02      1       количество аргументов
0x03      4       длина аргумента 0
0x07      n       байты аргумента 0
...               повторяющаяся длина DWORD + значение

Строковые аргументы — UTF-16LE. Целочисленные аргументы — DWORD в little-endian. Диспетчер принимает идентификаторы команд ниже 0x23 и использует их как индексы в таблице функций из 35 записей по адресу 0x140052C90.

Запись для команды 0x0007 указывает на 0x14000BFD0.

4. Проследите команду 0x0007

В сокращённом виде, с точки зрения безопасности, обработчик выглядит так:

int command_07(parsed_arguments *args)
{
    wchar_t service_directory[MAX_PATH];
    wchar_t *requested_path = args->wide_string[0];
    uint32_t mode = args->dword[1];

    GetModuleFileNameW(NULL, service_directory, MAX_PATH);
    PathRemoveFileSpecW(service_directory);

    if (wcsstr(requested_path, service_directory) != NULL)
        return launch_with_selected_token(requested_path, mode);

    return 0;
}

wcsstr отвечает только на вопрос, встречается ли одна строка внутри другой. Он не канонизирует путь, не разрешает сегменты с точками, не открывает файл и не доказывает, что конечный объект остаётся в доверенном каталоге.

Предположим, служба установлена в:

C:\Program Files\Acer\NitroSense_Service
Скачать инструмент