VULNARCHIVE

GCVE-1988-2026-0154

[NotCVE-2026-0010] Barrier 2.4.0 for Windows Unauthenticated IPC Command Execution Allows Local Privilege Escalation to SYSTEM

Description (en)

----------------------------------------------------------------------------
NotCVE Advisory — NotCVE-2026-0010
----------------------------------------------------------------------------

[-] Summary:
Barrier 2.4.0 for Windows contains a local privilege escalation vulnerability
in the IPC command interface exposed by the barrierd.exe service on
127.0.0.1:24801. The IPC server accepts local TCP clients and processes a
command line together with a one-byte elevation flag without authenticating the
connecting process or verifying that it is authorised to request elevated
process creation. A low-privileged local attacker can therefore execute
arbitrary commands as NT AUTHORITY\SYSTEM, resulting in complete compromise of
the affected host. CVSS:3.1 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).

[-] Affected:
Barrier (Debauchee), version 2.4.0 for Windows.
Earlier affected versions have not been established. Barrier is no longer
maintained and no patched release has been verified.

[-] Technical Description:
The Barrier daemon (barrierd.exe) exposes an IPC server on the loopback
interface at TCP port 24801. A client sends an IHEL client hello identifying
itself as a supported IPC client type, followed by a kIpcCommand (ICMD) message
containing a command line and a one-byte elevation flag.

The reviewed IPC acceptance and command-processing paths do not authenticate
the connecting process, verify its Windows identity, or authorise it to request
elevated process creation.

When the elevation flag is enabled, DaemonApp::handleIpcMessage() forwards the
supplied command and elevation value to MSWindowsWatchdog. The watchdog locates
winlogon.exe in the relevant Windows session, duplicates its privileged token,
and supplies the attacker-controlled command line to CreateProcessAsUser. The
command therefore executes as NT AUTHORITY\SYSTEM.

Barrier additionally stores the last IPC-supplied values in the system settings
as Command and Elevate. These values are loaded again when the daemon starts
and passed back to the watchdog, so an attacker-supplied elevated command can
execute again after service restarts or system reboots until the stored command
is cleared.

Weaknesses: CWE-306 (Missing Authentication for Critical Function), CWE-862
(Missing Authorization). Pattern: CAPEC-69 (Target Programs with Elevated
Privileges).

A proof of concept is published in the researcher's repository (see References).

[-] Timeline:
[25/07/2026] - NotCVE ID requested.
[27/07/2026] - NotCVE ID reserved.
[27/07/2026] - Published as NotCVE-2026-0010.

[-] Credit:
Discovered by Christopher Duram
(https://www.linkedin.com/in/christopherduram/).

[-] References:
https://notcve.org/notcve/NotCVE-2026-0010
https://github.com/cduram/NotCVE-2026-0010
https://github.com/cduram/NotCVE-2026-0010/blob/main/Debauchee_Barrier_Privesc.py
https://github.com/debauchee/barrier/releases/tag/v2.4.0
https://github.com/debauchee/barrier/blob/master/src/lib/ipc/Ipc.h
https://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcServer.cpp
https://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcClientProxy.cpp
https://github.com/debauchee/barrier/blob/master/src/lib/barrier/win32/DaemonApp.cpp
https://github.com/debauchee/barrier/blob/master/src/lib/platform/MSWindowsWatchdog.cpp

[-] About NotCVE:
NotCVE (https://notcve.org) assigns public, timestamped NotCVE IDs to
vulnerabilities not acknowledged by vendors. Vendor will not assign a CVE?
Request a NotCVE: https://notcve.org/form/ · Contributors:
https://notcve.org/hall/
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/

References

Raw JSON
{
  "containers": {
    "cna": {
      "affected": [
        {
          "product": "Barrier",
          "vendor": "Barrier Project",
          "versions": [
            {
              "status": "affected",
              "version": "unknown"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "advisories"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "----------------------------------------------------------------------------\nNotCVE Advisory — NotCVE-2026-0010\n----------------------------------------------------------------------------\n\n[-] Summary:\nBarrier 2.4.0 for Windows contains a local privilege escalation vulnerability\nin the IPC command interface exposed by the barrierd.exe service on\n127.0.0.1:24801. The IPC server accepts local TCP clients and processes a\ncommand line together with a one-byte elevation flag without authenticating the\nconnecting process or verifying that it is authorised to request elevated\nprocess creation. A low-privileged local attacker can therefore execute\narbitrary commands as NT AUTHORITY\\SYSTEM, resulting in complete compromise of\nthe affected host. CVSS:3.1 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H).\n\n[-] Affected:\nBarrier (Debauchee), version 2.4.0 for Windows.\nEarlier affected versions have not been established. Barrier is no longer\nmaintained and no patched release has been verified.\n\n[-] Technical Description:\nThe Barrier daemon (barrierd.exe) exposes an IPC server on the loopback\ninterface at TCP port 24801. A client sends an IHEL client hello identifying\nitself as a supported IPC client type, followed by a kIpcCommand (ICMD) message\ncontaining a command line and a one-byte elevation flag.\n\nThe reviewed IPC acceptance and command-processing paths do not authenticate\nthe connecting process, verify its Windows identity, or authorise it to request\nelevated process creation.\n\nWhen the elevation flag is enabled, DaemonApp::handleIpcMessage() forwards the\nsupplied command and elevation value to MSWindowsWatchdog. The watchdog locates\nwinlogon.exe in the relevant Windows session, duplicates its privileged token,\nand supplies the attacker-controlled command line to CreateProcessAsUser. The\ncommand therefore executes as NT AUTHORITY\\SYSTEM.\n\nBarrier additionally stores the last IPC-supplied values in the system settings\nas Command and Elevate. These values are loaded again when the daemon starts\nand passed back to the watchdog, so an attacker-supplied elevated command can\nexecute again after service restarts or system reboots until the stored command\nis cleared.\n\nWeaknesses: CWE-306 (Missing Authentication for Critical Function), CWE-862\n(Missing Authorization). Pattern: CAPEC-69 (Target Programs with Elevated\nPrivileges).\n\nA proof of concept is published in the researcher's repository (see References).\n\n[-] Timeline:\n[25/07/2026] - NotCVE ID requested.\n[27/07/2026] - NotCVE ID reserved.\n[27/07/2026] - Published as NotCVE-2026-0010.\n\n[-] Credit:\nDiscovered by Christopher Duram\n(https://www.linkedin.com/in/christopherduram/).\n\n[-] References:\nhttps://notcve.org/notcve/NotCVE-2026-0010\nhttps://github.com/cduram/NotCVE-2026-0010\nhttps://github.com/cduram/NotCVE-2026-0010/blob/main/Debauchee_Barrier_Privesc.py\nhttps://github.com/debauchee/barrier/releases/tag/v2.4.0\nhttps://github.com/debauchee/barrier/blob/master/src/lib/ipc/Ipc.h\nhttps://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcServer.cpp\nhttps://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcClientProxy.cpp\nhttps://github.com/debauchee/barrier/blob/master/src/lib/barrier/win32/DaemonApp.cpp\nhttps://github.com/debauchee/barrier/blob/master/src/lib/platform/MSWindowsWatchdog.cpp\n\n[-] About NotCVE:\nNotCVE (https://notcve.org) assigns public, timestamped NotCVE IDs to\nvulnerabilities not acknowledged by vendors. Vendor will not assign a CVE?\nRequest a NotCVE: https://notcve.org/form/ · Contributors:\nhttps://notcve.org/hall/\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives & RSS: https://seclists.org/fulldisclosure/"
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-306",
              "description": "CWE-306",
              "lang": "en",
              "type": "CWE"
            },
            {
              "cweId": "CWE-862",
              "description": "CWE-862",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-11T08:13:23Z",
        "orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
        "shortName": "VULNARCHIVE"
      },
      "references": [
        {
          "tags": [
            "technical-description"
          ],
          "url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/111"
        },
        {
          "tags": [
            "technical-description"
          ],
          "url": "https://seclists.org/fulldisclosure/2026/Aug/111"
        },
        {
          "url": "https://github.com/cduram/NotCVE-2026-0010"
        },
        {
          "url": "https://github.com/cduram/NotCVE-2026-0010/blob/main/Debauchee_Barrier_Privesc.py"
        },
        {
          "url": "https://github.com/debauchee/barrier/blob/master/src/lib/barrier/win32/DaemonApp.cpp"
        },
        {
          "url": "https://github.com/debauchee/barrier/blob/master/src/lib/ipc/Ipc.h"
        },
        {
          "url": "https://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcClientProxy.cpp"
        },
        {
          "url": "https://github.com/debauchee/barrier/blob/master/src/lib/ipc/IpcServer.cpp"
        },
        {
          "url": "https://github.com/debauchee/barrier/blob/master/src/lib/platform/MSWindowsWatchdog.cpp"
        },
        {
          "url": "https://github.com/debauchee/barrier/releases/tag/v2.4.0"
        },
        {
          "url": "https://nmap.org/mailman/listinfo/fulldisclosure"
        },
        {
          "url": "https://notcve.org"
        },
        {
          "url": "https://notcve.org/form/"
        },
        {
          "url": "https://notcve.org/hall/"
        },
        {
          "url": "https://notcve.org/notcve/NotCVE-2026-0010"
        },
        {
          "url": "https://seclists.org/fulldisclosure/"
        },
        {
          "url": "https://www.linkedin.com/in/christopherduram/"
        }
      ],
      "source": {
        "defect": [
          "https://seclists.org/fulldisclosure/2026/Aug/111"
        ],
        "discovery": "EXTERNAL"
      },
      "title": "[NotCVE-2026-0010] Barrier 2.4.0 for Windows Unauthenticated IPC Command Execution Allows Local Privilege Escalation to SYSTEM",
      "x_gcve": [
        {
          "recordType": "advisory",
          "relationships": [],
          "vulnId": "GCVE-1988-2026-0154",
          "x_vulnarchive": {
            "archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Aug/111",
            "automated": true,
            "contentSha256": "b503862c9c1f04b93cd69920282a34e82b427d9934123c639e09e579968db961",
            "evidenceScore": 8,
            "messageId": "",
            "originalUrl": "https://seclists.org/fulldisclosure/2026/Aug/111",
            "policy": "vulnarchive-1",
            "sourceFormat": "text/html",
            "sourcePublishedAt": "2026-08-19T10:57:52Z"
          }
        }
      ]
    }
  },
  "cveMetadata": {
    "assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
    "assignerShortName": "VULNARCHIVE",
    "datePublished": "2026-09-07T13:20:22Z",
    "dateUpdated": "2026-09-11T08:13:23Z",
    "state": "PUBLISHED",
    "vulnId": "GCVE-1988-2026-0154"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}