NginxProxyManager / NginxProxyManager/nginx-proxy-manager

Improper Access Control on Advanced Nginx Configuration Feature

Open
#5,749 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
34.2k
Forks
3.9k
Avg merge
21h 12m
Merged PRs (30d)
20

Description

Checklist

  • Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
    • Yes
  • Are you sure you're not using someone else's docker image?
    • Yes
  • Have you searched for similar issues (both open and closed)?
    • Yes

Describe the bug
The project documentation indicates that "Advanced Nginx configuration" is intended for super-user access only, and the system includes user management, permissions, and audit logging capabilities.In reality, any authenticated standard (non-admin) user authorized to manage Proxy Hosts / Redirection Hosts / 404 Hosts can abuse the "Custom Nginx Configuration" feature to inject raw Nginx directives.

Nginx Proxy Manager Version
v2.15.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
advanced_config should be restricted per the documentation ("super users"): enforce an admin-only check at the API layer for create/update payloads containing advanced_config on all host types, or introduce a dedicated permission flag for raw nginx configuration.
New users should not receive manage on every section by default (least privilege).

Screenshots

Operating System

Additional context

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the API handlers for create and update operations on Proxy Hosts, Redirection Hosts, and 404 Hosts, then follow how advanced_config and permissions are checked. Done means standard users cannot submit raw Nginx configuration through any host type, with the documented super-user restriction or a dedicated permission enforced consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx, typescript
Domain
authorization, backend-api-design, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.