CVE-2026-33030
IDOR Vulnerability in Nginx-UI Allows Unauthorized Resource Access
Publication date: 2026-03-30
Last updated on: 2026-04-01
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| nginxui | nginx_ui | to 2.3.3 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-78 | The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component. |
| CWE-639 | The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-33030 is a critical vulnerability in the nginx-ui project, specifically an Insecure Direct Object Reference (IDOR) issue. The base Model struct in the application lacks a user_id field, which means resource queries are performed solely by ID without verifying if the resource belongs to the authenticated user. This flaw allows any authenticated user to access, modify, or delete resources belonging to other users, effectively bypassing authorization controls in multi-user environments.
Additionally, sensitive credentials such as DNS API tokens and ACME private keys are stored in plaintext within the application, exposing them to attackers who exploit this vulnerability. These tokens provide full control over DNS zones and cloud services for providers like Cloudflare, Alibaba Cloud, Tencent Cloud, AWS Route53, and GoDaddy.
An attacker can create a low-privilege account, enumerate resource IDs via API endpoints, and retrieve plaintext API tokens without needing decryption. This enables them to modify DNS records, issue fraudulent SSL certificates, and potentially escalate privileges or compromise cloud infrastructure.
How can this vulnerability impact me? :
This vulnerability can have severe impacts including unauthorized access and control over other users' DNS credentials and configurations. An attacker exploiting this flaw can modify DNS records, leading to domain hijacking and traffic interception.
They can also issue fraudulent SSL certificates, undermining the security and trust of affected domains. Furthermore, by stealing API tokens, attackers may pivot into cloud infrastructure, potentially escalating privileges and causing broader compromise beyond the nginx-ui application.
Overall, the vulnerability compromises confidentiality, integrity, and availability of DNS and cloud resources, posing a high risk to affected organizations.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by attempting to access resource endpoints with a low-privilege authenticated user and verifying if resources belonging to other users can be accessed, modified, or deleted without proper authorization.
A proof of concept involves using curl commands with a low-privilege token to enumerate DNS credential resource IDs via API endpoints such as `/api/dns_credentials/1`, `/api/dns_credentials/2`, etc., and checking if the responses contain sensitive data like plaintext API tokens.
Example command to test access to another user's DNS credentials (replace TOKEN and URL accordingly):
- curl -H "Authorization: Bearer TOKEN" https://your-nginx-ui-instance/api/dns_credentials/1
If the response returns sensitive credentials without verifying ownership, the vulnerability is present.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include:
- Add a UserID field to the base Model struct to associate resources with their owners.
- Modify all resource queries to filter by the current authenticated user's ID to enforce ownership checks.
- Implement authorization middleware to enforce ownership verification on all resource access endpoints.
- Perform database migrations to add user_id columns to all resource tables such as dns_credentials, certs, acme_users, sites, streams, and configs.
- Set default owners for existing resources and add foreign key constraints linking resources to users.
- Encrypt sensitive data such as DNS API tokens and ACME private keys using AES encryption via GORM serializers.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The CVE-2026-33030 vulnerability allows any authenticated user to access, modify, and delete resources belonging to other users due to an authorization bypass and lack of user ownership verification. Sensitive credentials such as DNS API tokens and ACME private keys are stored in plaintext, exposing critical data.
This exposure and unauthorized access can lead to significant confidentiality, integrity, and availability breaches, which may violate data protection requirements under standards like GDPR and HIPAA. Specifically, unauthorized access to sensitive credentials and data could result in non-compliance with regulations mandating strict access controls, data confidentiality, and protection of personal or sensitive information.
The vulnerability's impact extends beyond the application to external DNS and cloud services, increasing the risk of domain hijacking and fraudulent certificate issuance, which further complicates compliance with security and privacy regulations.