Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-8069 — Technischer Bericht und Proof-of-Concept für CVE-2026-8069, eine lokale Privilegieneskalation in den Diensten Acer NitroSense und PredatorSense, die eine benannte Pipe ausnutzt, um beliebigen Code als SYSTEM auszuführen. | Kitploit
Tools/GitHubGitHub/s1eezer/cve-2026-8069
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationReverse EngineeringBinäranalyse
GitHubs1eezer/cve-2026-8069

CVE-2026-8069

Technischer Bericht und Proof-of-Concept für CVE-2026-8069, eine lokale Privilegieneskalation in den Diensten Acer NitroSense und PredatorSense, die eine benannte Pipe ausnutzt, um beliebigen Code als SYSTEM auszuführen.

Repository anzeigen
19vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Von einer Acer Named Pipe zu NT AUTHORITY\SYSTEM: CVE-2026-8069

Acer NitroSense und PredatorSense 3.x installierten einen Windows-Dienst namens PSSvc, der ein benutzerdefiniertes Named-Pipe-Protokoll für lokale Benutzer bereitstellte. Ein Protokollbefehl akzeptierte einen vom Aufrufer kontrollierten ausführbaren Pfad, duplizierte das Token von winlogon.exe und startete diese ausführbare Datei als NT AUTHORITY\SYSTEM.

Die Pfadeinschränkung im verwundbaren Dienst war ein Substring-Test. Ein Pfad, der innerhalb des Dienstverzeichnisses begann und dann ..\-Komponenten verwendete, bestand den Test, löste aber an anderer Stelle auf. In Kombination mit der permissiven Zugriffskontrolle der Pipe und dem Fehlen einer Aufrufer-Autorisierung ermöglichte dies einem normalen lokalen Benutzer, einen SYSTEM-Prozess zu erhalten.

Acer vergab CVE-2026-8069, veröffentlichte korrigierte Versionen und würdigte Artem Domarev von der Universität Hradec Králové in seiner Sicherheitsempfehlung.

Dieser Artikel konzentriert sich auf den Prozesserstellungs-/LPE-Pfad. Acers Empfehlung beschreibt auch das Löschen beliebiger Dateien, das außerhalb des Rahmens dieser Validierung lag.

Warum ich diese Forschungsrichtung gewählt habe

Die Wahl der Forschungsrichtung wurde auch durch eine öffentliche Analyse von OEM-Software beeinflusst, die von Leon Jacobs von SensePost veröffentlicht wurde. Diese Arbeit dokumentierte Schwachstellen in ASUS DriverHub, MSI Center, Acer Control Centre und Razer Synapse 4 (Jacobs, 2025). Sie untermauerte die Idee, dass vom Hersteller gelieferte Hardware-Dienstprogramme eine bedeutende und wenig erforschte Angriffsfläche darstellen können. Anstatt Acer Control Centre erneut zu untersuchen, erweiterte ich die Untersuchung auf eine andere Acer-Produktfamilie: NitroSense und PredatorSense.

Zusammenfassung

ElementErgebnis
CVECVE-2026-8069
Getestete verwundbare KomponentePSSvc.exe 3.1.3052.0, signiert von Acer Incorporated
DienstidentitätLocalSystem
IPC-Endpunkt\\.\pipe\predatorsense_service_namedpipe
Verwundbarer Befehl0x0007
Erforderlicher AngreiferzugriffAuthentifizierter lokaler Benutzer, der ein Programm ausführen kann
BenutzerinteraktionKeine
ErgebnisBeliebige ausführbare Datei gestartet als NT AUTHORITY\SYSTEM
NVD CVSS v3.17.8 Hoch — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Korrigierte VersionenPredatorSense 3.00.3198; NitroSense 3.01.3056

Die Ausbeutungskette ist kurz:

authentifizierter lokaler Benutzer
        │
        ▼
permissive PSSvc Named Pipe
        │  benutzerdefinierter Befehl 0x0007
        ▼
nur-Substring-Pfadprüfung
        │  service-dir\..\..\..\Windows\System32\cmd.exe
        ▼
Duplizieren des winlogon.exe-Tokens der aktiven Sitzung
        │
        ▼
CreateProcessAsUserW → NT AUTHORITY\SYSTEM

Eine Warnung zur Versionsnummer

Es gibt eine Inkonsistenz in der öffentlichen Formulierung. Acers Seite besagt, dass NitroSense-Versionen „vor 3.01.3052" betroffen sind, doch die vom Hersteller signierte PSSvc.exe-Version 3.1.3052.0, die für diesen Artikel getestet wurde, ist nachweislich verwundbar. Dieselbe Seite identifiziert NitroSense 3.01.3056 als korrigierte Version. Der NVD-Anwendbarkeitsbereich erstreckt sich ebenfalls bis einschließlich, aber nicht einschließlich 3.01.3056.

Für PredatorSense endet Acers Satz zu betroffenen Versionen vor 3.00.3196, während die aufgeführte korrigierte Version 3.00.3198 ist und NVD letztere als obere Grenze verwendet.

Die konservative operative Regel ist daher einfach: Verwenden Sie den mehrdeutigen Satz zu „betroffenen" Versionen nicht als Patch-Prüfung. Aktualisieren Sie mindestens auf die von Acer genannten korrigierten Versionen — PredatorSense 3.00.3198 oder NitroSense 3.01.3056 — oder ein neueres modellkompatibles Paket.

Getestete Artefakte

Das Problem wurde mit dem ursprünglichen NitroSense-Paket reproduziert.

ArtefaktSHA-256
NitroSense_V3.01.3052_MSFT_SIGNED_20230420.zip947FB7C62665875450AFA9C9E7919D2B061ED8197C11B28D64781F121B30C157
NitroSense.msi6F9D405B6D2ADF2992C4E071453AD2C919A6DD38A89A31EF96EAFE81C50A745C
Installierte PSSvc.exe 3.1.3052.03BA836B6A5D95B55708E771B74F49098F58B096EF1F63C5CCAE355811E193A40
Für die Validierung verwendeter PoC31BC81140BAB64A8B0CB70ACC1C2CF3CA84A7B00015E5610AC075DC50DCB0163

Die Authenticode-Signatur der PSSvc.exe wurde erfolgreich validiert und führte zu Acer Incorporated. Das MSI installierte PSSvc als bedarfsgestarteten Dienst mit eigenem Prozess, der als LocalSystem läuft.

Wie ich den verwundbaren Pfad gefunden habe

1. Beginnen Sie mit dem privilegierten Dienst

Das NitroSense-Paket installiert:

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

Ein SYSTEM-Dienst ist nicht automatisch verwundbar. Die wichtige Frage ist, ob ein Prozess mit geringeren Rechten Funktionen erreichen kann, die unter der Annahme entworfen wurden, dass ihr Aufrufer vertrauenswürdig ist.

Die String-Analyse legte sofort den IPC-Endpunkt offen:

\\.\pipe\predatorsense_service_namedpipe

2. Untersuchen Sie die Sicherheitsbeschreibung der Named Pipe

Bei 0x140014AD0 erstellt der Dienst die Pipe und übergibt eine explizite Sicherheitsbeschreibung an CreateNamedPipeW:

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

Dies ist eine wichtige explizite Korrektur: Der verwundbare Build übergibt keine NULL-Beschreibung. Er erstellt eine permissive DACL.

SID-AbkürzungPrinzipalEffektive Berechtigung in der SDDL
BGIntegrierte GästeGenerische Alle
ANAnonymGenerische Alle verweigert
AUAuthentifizierte BenutzerGenerisches Lesen, Schreiben und Ausführen
BAIntegrierte AdministratorenGenerische Alle

Die AU-ACE reicht aus, damit ein normaler authentifizierter Benutzer die Pipe zum Lesen und Schreiben öffnen kann. Der Server führt dann keine Client-Impersonalisierung durch und trifft keine Autorisierungsentscheidung, bevor er privilegierte Befehle verteilt.

3. Wiederherstellen des Drahtformats

Der Client-Thread bei 0x14000ABB0 liest Nachrichten in einen 512-Byte-Puffer. Er parst die ersten drei Bytes als 16-Bit-Befehlsnummer und 8-Bit-Argumentanzahl. Jedes Argument ist längenpräfixiert:

Offset  Größe  Bedeutung
0x00    2     Befehls-ID, Little-Endian
0x02    1     Anzahl der Argumente
0x03    4     Länge von Argument 0
0x07    n     Bytes von Argument 0
...           wiederholte DWORD-Länge + Wert

String-Argumente sind UTF-16LE. Integer-Argumente sind Little-Endian-DWORDs. Der Dispatcher akzeptiert Befehls-IDs unterhalb von 0x23 und verwendet sie als Indizes in eine 35 Einträge umfassende Funktionstabelle bei 0x140052C90.

Der Eintrag für Befehl 0x0007 zeigt auf 0x14000BFD0.

4. Befehl 0x0007 folgen

Auf sein sicherheitsrelevantes Verhalten reduziert, sieht der Handler wie folgt aus:

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;
}
Tool herunterladen