Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-8069 — Write-up técnico y prueba de concepto para CVE-2026-8069, una escalada de privilegios local en los servicios Acer NitroSense y PredatorSense, que explota una named pipe para ejecutar código arbitrario como SYSTEM. | Kitploit
Herramientas/GitHubGitHub/s1eezer/cve-2026-8069
Escalada de PrivilegiosFrameworks de ExploitsAnálisis de VulnerabilidadesExplotaciónIngeniería InversaAnálisis de Binarios
GitHubs1eezer/cve-2026-8069

CVE-2026-8069

Write-up técnico y prueba de concepto para CVE-2026-8069, una escalada de privilegios local en los servicios Acer NitroSense y PredatorSense, que explota una named pipe para ejecutar código arbitrario como SYSTEM.

Ver Repositorio
19hace 1 mesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

De un Named Pipe de Acer a NT AUTHORITY\SYSTEM: CVE-2026-8069

Acer NitroSense y PredatorSense 3.x instalaron un servicio de Windows llamado PSSvc que exponía un protocolo personalizado de named pipe a usuarios locales. Un comando del protocolo aceptaba una ruta de ejecutable controlada por el llamante, duplicaba el token de winlogon.exe e iniciaba ese ejecutable como NT AUTHORITY\SYSTEM.

La restricción de ruta en el servicio vulnerable era una prueba de subcadena. Una ruta que comenzaba dentro del directorio del servicio y luego usaba componentes ..\ superaba la prueba pero se resolvía en otro lugar. Combinado con el control de acceso permisivo del pipe y la ausencia de autorización del llamante, esto permitía a un usuario local estándar obtener un proceso SYSTEM.

Acer asignó CVE-2026-8069, publicó versiones corregidas y acreditó a Artem Domarev de la Universidad de Hradec Králové en su aviso de seguridad.

Este artículo se centra en la vía de creación de procesos/LPE. El aviso de Acer también describe la eliminación arbitraria de archivos, que quedó fuera del alcance de esta validación.

Por qué elegí esta dirección de investigación

La elección de la dirección de investigación también estuvo influenciada por un análisis público de software OEM publicado por Leon Jacobs de SensePost. Ese trabajo documentó vulnerabilidades en ASUS DriverHub, MSI Center, Acer Control Centre y Razer Synapse 4 (Jacobs, 2025). Reforzó la idea de que las utilidades de hardware proporcionadas por los proveedores pueden exponer una superficie de ataque significativa y poco explorada. En lugar de revisitar Acer Control Centre, extendí la investigación a una familia de productos diferente de Acer: NitroSense y PredatorSense.

Resumen ejecutivo

ElementoResultado
CVECVE-2026-8069
Componente vulnerable probadoPSSvc.exe 3.1.3052.0, firmado por Acer Incorporated
Identidad del servicioLocalSystem
Punto final IPC\\.\pipe\predatorsense_service_namedpipe
Comando vulnerable0x0007
Acceso requerido del atacanteUsuario local autenticado capaz de ejecutar un programa
Interacción del usuarioNinguna
ResultadoEjecutable arbitrario lanzado como NT AUTHORITY\SYSTEM
CVSS v3.1 de NVD7.8 Alta — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Versiones corregidasPredatorSense 3.00.3198; NitroSense 3.01.3056

La cadena de explotación es corta:

usuario local autenticado
        │
        ▼
named pipe permisivo de PSSvc
        │  comando personalizado 0x0007
        ▼
verificación de ruta solo por subcadena
        │  service-dir\..\..\..\Windows\System32\cmd.exe
        ▼
duplicación del token de winlogon.exe de la sesión activa
        │
        ▼
CreateProcessAsUserW → NT AUTHORITY\SYSTEM

Una advertencia sobre el número de versión

Existe una inconsistencia en la redacción pública. La página de Acer dice que las versiones de NitroSense "anteriores a 3.01.3052" están afectadas, sin embargo, la versión 3.1.3052.0 de PSSvc.exe firmada por el proveedor y probada para este artículo es demostrablemente vulnerable. La misma página identifica NitroSense 3.01.3056 como la versión corregida. El rango de aplicabilidad de NVD también se extiende hasta, pero sin incluir, 3.01.3056.

Para PredatorSense, la frase de versiones afectadas de Acer se detiene antes de 3.00.3196, mientras que la versión corregida listada es 3.00.3198 y NVD utiliza esta última como límite superior.

La regla operativa conservadora es, por tanto, simple: no utilice la ambigua frase de "afectadas" como comprobación de parche. Actualice al menos a las versiones corregidas que Acer nombra —PredatorSense 3.00.3198 o NitroSense 3.01.3056— o a un paquete más reciente compatible con el modelo.

Artefactos probados

El problema se reprodujo con el paquete original de NitroSense.

ArtefactoSHA-256
NitroSense_V3.01.3052_MSFT_SIGNED_20230420.zip947FB7C62665875450AFA9C9E7919D2B061ED8197C11B28D64781F121B30C157
NitroSense.msi6F9D405B6D2ADF2992C4E071453AD2C919A6DD38A89A31EF96EAFE81C50A745C
PSSvc.exe 3.1.3052.0 instalado3BA836B6A5D95B55708E771B74F49098F58B096EF1F63C5CCAE355811E193A40
PoC utilizado para la validación31BC81140BAB64A8B0CB70ACC1C2CF3CA84A7B00015E5610AC075DC50DCB0163

La firma Authenticode de PSSvc.exe se validó correctamente y encadenó a Acer Incorporated. El MSI instaló PSSvc como un servicio de proceso propio con inicio bajo demanda que se ejecuta como LocalSystem.

Cómo encontré la ruta vulnerable

1. Comience con el servicio privilegiado

El paquete NitroSense instala:

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

Un servicio SYSTEM no es automáticamente vulnerable. La pregunta importante es si un proceso con menores privilegios puede alcanzar funcionalidad que fue diseñada bajo la suposición de que su llamante es de confianza.

El análisis de cadenas expuso inmediatamente el punto final IPC:

\\.\pipe\predatorsense_service_namedpipe

2. Inspeccione el descriptor de seguridad del named pipe

En 0x140014AD0, el servicio construye el pipe y pasa un descriptor de seguridad explícito a CreateNamedPipeW:

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

Esto merece una corrección explícita: la versión vulnerable no pasa un descriptor NULL. Crea una DACL permisiva.

Abreviatura SIDPrincipalPermiso efectivo en el SDDL
BGInvitados integradosAcceso genérico total
ANAnónimoAcceso genérico total denegado
AUUsuarios autenticadosLectura, escritura y ejecución genéricas
BAAdministradores integradosAcceso genérico total

La ACE AU es suficiente para que un usuario autenticado normal abra el pipe para lectura y escritura. El servidor no suplanta entonces al cliente ni realiza una decisión de autorización antes de despachar comandos privilegiados.

3. Recupere el formato de la trama

El hilo cliente en 0x14000ABB0 lee mensajes en un búfer de 512 bytes. Analiza los primeros tres bytes como un número de comando de 16 bits y un contador de argumentos de 8 bits. Cada argumento tiene prefijo de longitud:

Offset  Tamaño  Significado
0x00    2       ID de comando, little-endian
0x02    1       número de argumentos
0x03    4       longitud del argumento 0
0x07    n       bytes del argumento 0
...           DWORD de longitud repetido + valor

Los argumentos de cadena son UTF-16LE. Los argumentos enteros son DWORDs little-endian. El despachador acepta IDs de comando por debajo de 0x23 y los utiliza como índices en una tabla de funciones de 35 entradas en 0x140052C90.

La entrada para el comando 0x0007 apunta a 0x14000BFD0.

4. Siga el comando 0x0007

Reducido a su comportamiento relevante para la seguridad, el manejador se ve así:

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 solo responde si una cadena aparece dentro de otra. No canoniza una ruta, no resuelve segmentos de puntos, no abre un archivo ni demuestra que el objeto final permanece bajo un directorio de confianza.

Suponga que el servicio está instalado en:

C:\Program Files\Acer\NitroSense_Service
Descargar herramienta