A critical security vulnerability (CVE-2026-33032), tracked as MCPwn, has been identified in nginx-ui, an open-source web-based management interface for the Nginx web server. This flaw carries a CVSS score of 9.8, reflecting its severity and potential impact on infrastructure integrity.
The vulnerability is an authentication bypass that allows unauthenticated threat actors to seize complete control of the Nginx service. Given that nginx-ui is often exposed to the internet for ease of management, this issue poses an immediate and severe risk. Active exploitation in the wild has been confirmed, necessitating an urgent response from all organizations utilizing this tool.
Technical Analysis
- CVE ID: CVE-2026-33032
- Codename: MCPwn
- Affected Product: nginx-ui (Open-source web-based Nginx manager)
- CVSS Score: 9.8 (Critical)
- Vulnerability Type: Authentication Bypass
How the Vulnerability Works
The vulnerability stems from a flaw in the authentication mechanism of the nginx-ui application. By sending specially crafted requests to the web interface, attackers can bypass the login screen entirely, gaining administrative privileges without valid credentials.
Attack Chain:
- Initial Access: The attacker identifies an exposed
nginx-uiinstance (typically running on default ports). - Exploitation: The attacker exploits CVE-2026-33032 to bypass authentication and gain administrative access to the web interface.
- Persistence & Execution: With administrative access, the attacker modifies Nginx configuration files (e.g.,
nginx.conf) to achieve Remote Code Execution (RCE) or to proxy traffic to malicious destinations. They may also restart the Nginx service to apply these changes. - Impact: Full server takeover. If Nginx runs with elevated privileges (common in many deployments), the attacker effectively gains root or system-level access.
Exploitation Status
- Status: Actively Exploited in the Wild. Security researchers at Pluto Security have confirmed active scanning and exploitation attempts following the public disclosure of MCPwn.
Detection & Response
Given the active exploitation status, defenders must assume compromise if unpatched instances are exposed. The following detection logic focuses on the post-exploitation behavior: the modification of Nginx configuration files and the reloading of the service by the nginx-ui process, which are necessary steps for an attacker to leverage the bypass for takeover.
SIGMA Rules
---
title: nginx-ui MCPwn - Nginx Config Modification
id: 8a2b3c4d-5e6f-4a5b-8c9d-1e2f3a4b5c6d
status: experimental
description: Detects modifications to Nginx configuration files by the nginx-ui process, indicative of successful exploitation of CVE-2026-33032.
references:
- https://thehackernews.com/2026/04/critical-nginx-ui-vulnerability-cve.html
author: Security Arsenal
date: 2026/04/06
tags:
- attack.persistence
- attack.t1574.002
logsource:
category: file_event
product: linux
detection:
selection:
TargetFilename|contains: '/nginx'
TargetFilename|endswith: '.conf'
condition: selection
falsepositives:
- Legitimate administrative updates via nginx-ui
level: high
---
title: nginx-ui MCPwn - Service Reload Command Execution
id: 9b3c4d5e-6f7a-5b6c-9d0e-2f3a4b5c6d7e
status: experimental
description: Detects the nginx-ui parent process spawning a nginx reload command, often used to apply malicious configuration changes during CVE-2026-33032 exploitation.
references:
- https://thehackernews.com/2026/04/critical-nginx-ui-vulnerability-cve.html
author: Security Arsenal
date: 2026/04/06
tags:
- attack.execution
- attack.t1059.004
logsource:
category: process_creation
product: linux
detection:
selection:
Image|endswith: '/nginx'
CommandLine|contains: '-s reload'
parent:
Image|endswith: '/nginx-ui'
condition: selection and parent
falsepositives:
- Legitimate configuration reloads triggered by an administrator
level: high
KQL (Microsoft Sentinel)
// Hunt for Nginx config modifications potentially related to CVE-2026-33032
Syslog
| where ProcessName contains "nginx-ui" or SyslogMessage contains "nginx-ui"
| where ProcessName has_any ("vim", "nano", "echo", "sed")
or SyslogMessage has @"/etc/nginx"
or SyslogMessage has @"nginx.conf"
| project TimeGenerated, HostName, ProcessName, SyslogMessage, SourceIP
| extend Tactic = "Persistence"
Velociraptor VQL
-- Hunt for nginx-ui processes and recent modifications to Nginx configs
SELECT Pid, Name, Exe, CommandLine, Username
FROM pslist()
WHERE Name =~ "nginx-ui"
SELECT FullPath, Mode.Size, Mode.Sys.Mtime_ns
FROM glob(globs="/etc/nginx/**/*.conf")
WHERE Mode.Sys.Mtime_ns > now() - 86400000000000 -- Modified in last 24h
Remediation Script (Bash)
#!/bin/bash
# Remediation script for CVE-2026-33032 (nginx-ui MCPwn)
# Checks for the process and attempts to identify the installation method
echo "[+] Checking for running nginx-ui processes..."
if pgrep -f "nginx-ui" > /dev/null; then
echo "[!] WARNING: nginx-ui is currently running."
NGINX_UI_PID=$(pgrep -f "nginx-ui")
echo "[+] Process ID: $NGINX_UI_PID"
else
echo "[-] nginx-ui process not detected."
fi
echo "[+] Checking for nginx-ui installation (Docker or Binary)..."
# Check Docker
if docker ps --format '{{.Names}}' | grep -q "nginx-ui"; then
echo "[!] Found nginx-ui running in Docker."
echo "[+] ACTION REQUIRED: Update the image immediately."
echo " Example: docker pull 'xxx/nginx-ui:latest' && docker restart <container_name>"
echo " Please verify the patched version tag from the official vendor advisory."
fi
# Check Binary path
if [ -f "/usr/local/bin/nginx-ui" ] || [ -f "/usr/bin/nginx-ui" ]; then
echo "[!] Found nginx-ui binary installation."
echo "[+] ACTION REQUIRED: Download the latest patched release from the official GitHub repository and overwrite the existing binary."
echo " Verify signature and restart the service."
fi
echo "[+] Recommendation: Restrict access to the nginx-ui port immediately via firewall (iptables/ufw) until patched."
Remediation
-
Immediate Patching: Update
nginx-uito the latest patched version immediately. Consult the official nginx-ui GitHub repository for the specific patched release addressing CVE-2026-33032. -
Network Segmentation: If an immediate patch is not possible, restrict access to the
nginx-uimanagement port. Ensure the interface is not reachable from the public internet. Use IP allow-lists (e.g., viaiptables,ufw, or cloud security groups) to limit access solely to trusted administrative IP addresses. -
Configuration Audit: Review all Nginx configuration files (
nginx.confand included conf files) for unauthorized changes, specifically looking for unexpectedproxy_passdirectives, unknown upstreams, or inclusion of external scripts. -
Service Restart: After patching, restart the
nginx-uiservice to ensure the new version is active. -
Credential Rotation: While CVE-2026-33032 bypasses authentication, assume that if the system was exploited, credentials stored on the server or configuration files may have been dumped. Rotate admin credentials for Nginx and related systems.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.