Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-16801

CVE-2026-16801: PowerShell Universal RCE Vulnerability

CVE-2026-16801 is a code injection flaw in Devolutions PowerShell Universal that allows authenticated users to execute arbitrary code. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-16801 Overview

CVE-2026-16801 is a code injection vulnerability in Devolutions PowerShell Universal version 2026.2.2 and earlier. The flaw resides in the variables feature, where user-supplied variable values are written to the variables configuration file without proper escaping. An authenticated user with variable write permission can craft a variable value that injects arbitrary PowerShell code. When the configuration file is later loaded, the injected code executes within the PowerShell Universal process context. The vulnerability is tracked as CWE-94: Improper Control of Generation of Code.

Critical Impact

An authenticated attacker with variable write privileges can execute arbitrary PowerShell code, resulting in full compromise of confidentiality, integrity, and availability of the PowerShell Universal host.

Affected Products

  • Devolutions PowerShell Universal 2026.2.2
  • Devolutions PowerShell Universal versions prior to 2026.2.2
  • Deployments where variable write permission is delegated to non-administrative users

Discovery Timeline

  • 2026-07-24 - CVE-2026-16801 published to NVD
  • 2026-07-29 - Last updated in NVD database

Technical Details for CVE-2026-16801

Vulnerability Analysis

Devolutions PowerShell Universal exposes a variables feature that allows administrators and delegated users to define reusable values consumed by dashboards, APIs, and automation scripts. The application persists these variables to a configuration file rendered as PowerShell code. When a user submits a variable value, the application fails to escape characters that carry syntactic meaning in PowerShell. An attacker with variable write permission can supply a value containing PowerShell delimiters and statements. The resulting configuration file contains attacker-controlled code that executes the next time the variables file is loaded by the service.

Because PowerShell Universal typically runs with elevated privileges to manage infrastructure and scheduled scripts, code execution through this path grants attackers substantial control over the host and any credentials the service can access.

Root Cause

The root cause is missing input sanitization when serializing variable values into the PowerShell-syntax configuration file. Special characters such as backticks, quotes, dollar signs, and statement terminators are written verbatim rather than escaped or wrapped in a safe literal representation. This turns a data field into an executable code channel, which is the definition of code injection under CWE-94.

Attack Vector

Exploitation requires network access to the PowerShell Universal management interface and an authenticated session with variable write permission. The attacker submits a crafted variable value through the standard variables UI or REST API. The value is written to the variables configuration file with injected PowerShell syntax. On the next load of the variables file, the injected code runs in the security context of the PowerShell Universal service account. See the Devolutions Security Advisory DEVO-2026-0025 for vendor-confirmed details.

No public proof-of-concept exploit is available at the time of publication, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog.

Detection Methods for CVE-2026-16801

Indicators of Compromise

  • Unexpected modifications to the PowerShell Universal variables configuration file, particularly entries containing embedded PowerShell operators, subexpressions such as $( ), or backtick escape sequences within variable values.
  • Child processes spawned by the PowerShell Universal service that do not correspond to defined dashboards, APIs, or scheduled jobs.
  • New or modified variables created by non-administrative accounts followed by service restarts or variable reloads.

Detection Strategies

  • Audit the variables configuration file for values that contain PowerShell syntax rather than plain literal data.
  • Review PowerShell Universal audit logs for variable create and update actions performed by accounts with delegated write permission.
  • Enable PowerShell Script Block Logging (Event ID 4104) on the host and inspect script blocks executed by the PowerShell Universal process for unexpected content.

Monitoring Recommendations

  • Alert on process creation events where the PowerShell Universal service account launches interpreters, LOLBins, or outbound network utilities.
  • Monitor file integrity on the variables configuration file and correlate changes with authenticated user activity.
  • Track authentication events for accounts holding variable write permission and flag anomalous source addresses or session times.

How to Mitigate CVE-2026-16801

Immediate Actions Required

  • Upgrade Devolutions PowerShell Universal to a version later than 2026.2.2 as directed in the Devolutions Security Advisory DEVO-2026-0025.
  • Review all accounts assigned variable write permission and revoke access for users who do not require it.
  • Inspect the current variables configuration file for suspicious content before applying the patch, and remove any entries that contain executable PowerShell syntax.

Patch Information

Devolutions has published guidance in advisory DEVO-2026-0025. Administrators should apply the fixed release identified by the vendor and confirm the deployed build is later than 2026.2.2. Refer to the Devolutions Security Advisory DEVO-2026-0025 for the authoritative fixed version list and upgrade instructions.

Workarounds

  • Restrict variable write permission to fully trusted administrators until patching is complete.
  • Place the PowerShell Universal management interface behind network segmentation or a VPN to limit which authenticated users can reach the variables API.
  • Enable comprehensive PowerShell logging and file integrity monitoring on the variables configuration file to detect exploitation attempts during the patch window.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.