Skip to main content

PowerDNS-Admin CVE-2026-119658

| EUVDEUVD-2026-114074 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-30 VulnCheck GHSA-7x9g-4g72-fhmf
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege User role
  2. Delivery
    Access own authorized zone update endpoint
  3. Exploit
    Submit JSON body overriding 'domain' to victim zone
  4. Execution
    Server triggers axfr-retrieve on unauthorized zone
  5. Impact
    Infer zone existence from differing responses

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated PowerDNS-Admin User-role account that is already authorized for at least one zone (PR:L); the attacker POSTs to the /domain/<authorized-zone>/update endpoint and supplies a JSON body 'domain' field naming a different secondary (Slave) zone, which the pre-patch code acted on instead of the URL-path zone. Exploitation is limited to deployments running PowerDNS-Admin through 2026.08.1, targets only secondary zones that support axfr-retrieve, and yields only a zone-refresh trigger plus an existence oracle - not record read/write; it is gated by needing valid credentials and access to one zone, so it is a cross-user/cross-tenant boundary bypass rather than unauthenticated access. Updating to the patched build (PR #1942) is the vendor fix.

Impact

This is a genuine but moderate-severity (CVSS 5.3) authorization/IDOR flaw, not a high-CVSS-but-low-real-risk item nor a top-priority emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L) correctly frames it as network-reachable and low-complexity but requiring privileges (PR:L) - exploitation is limited to accounts that already hold a valid PowerDNS-Admin User-role login with access to at least one zone, so it is a privileged-insider / cross-tenant boundary bypass rather than remote-unauthenticated compromise. Impact is bounded: the attacker cannot read or overwrite other users' record data, only force axfr-retrieve (secondary-zone refresh) on zones they do not control and use response differences as a zone-existence oracle. The vendor vector marks VC:N, yet the description explicitly states attackers can 'infer zone existence from differing responses,' which is a limited confidentiality/information-disclosure effect - this is a mild internal inconsistency, and I assess a low confidentiality impact rather than none. No CISA KEV listing is present and no EPSS score was supplied, so widespread or automated exploitation is not indicated; the vuln.today decision label is 'this_month' (routine prioritized patching), consistent with a privilege-required, limited-impact bug. A public PoC reference (hackmd write-up) exists but is not verified as working exploit code.

Exploit ScenarioDerived

A low-privilege PowerDNS-Admin User who has been granted access to even a single secondary zone sends a POST to /domain/<their-authorized-zone>/update with a JSON body whose 'domain' field names a different user's secondary zone; the server authorizes the URL zone but then acts on the body-supplied zone, triggering an axfr-retrieve of the victim zone. By observing differing responses, the attacker determines whether arbitrary secondary zones exist. A public write-up describing the technique exists (hackmd), but it is not verified as working exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 30, 2026

PowerDNS-Admin through 2026.08.1 lets an authenticated User-role account that is already authorized for one zone trigger AXFR retrievals against other users' secondary (Slave) zones, and infer whether those zones exist, by supplying a different 'domain' value in the JSON body of a POST to /domain/<authorized-zone>/update. The route authorizes the zone in the URL path, but pre-patch code then replaced the zone name with the body-supplied value before issuing the backend call, so a cross-tenant key substitution slips past the per-zone access check. Severity is moderate (CVSS 5.3 / assessed CVSS:3.1 5.3, this-month priority), the flaw is not listed in CISA KEV, and no confirmed working exploit code is referenced, although a public technical writeup of the issue and its mechanism is available.

RemediationAI

The vendor fix is the code change merged in PR #1942 (https://github.com/PowerDNS-Admin/PowerDNS-Admin/pull/1942), which stops the handler from honoring a body-supplied 'domain' value and returns 403 when the body zone differs from the authorized URL zone; upstream fix available (PR/commit), but a released patched tag/version number is not independently confirmed from the supplied data, so operators should track the PowerDNS-Admin repository and the issue at https://github.com/PowerDNS-Admin/PowerDNS-Admin/issues/1940 to identify the first build containing the change before upgrading. If upgrading cannot be done immediately, the practical exposure reduction is to review which accounts hold the User role with any zone or account-level authorization, since the flaw requires valid credentials plus access to at least one zone, and to avoid granting zone access that is not required while the instance remains on 2026.08.1; note that this does not remove the flaw, which is a cross-tenant boundary bypass, and that the endpoint remains CSRF-protected and login-gated in either case. Deployments that do not manage PowerDNS secondary (Slave) zones have no exploitable target for the axfr-retrieve action, but the underlying body-override pattern should still be treated as requiring the upstream fix.

Affected VersionsENISA

PowerDNS-Admin 0 ≤2026.08.1

Affected Packages

euvd powerdns_admin no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PowerDNS-Admin is a Flask web front end that manages PowerDNS zones and records; the affected code lives in the record/zone update path (powerdnsadmin/routes/domain.py, record_update) and the domain model (powerdnsadmin/models/domain.py). The route performs its authorization check against the zone name taken from the URL path, but the handler read the JSON payload via request.json and reassigned domain_name = jdata['domain'], so the attacker-controlled body key - not the authorized path segment - determined which zone was operated on. This is CWE-639 (Authorization Bypass Through User-Controlled Key), a classic IDOR pattern in which the object identifier used for the permission decision and the object identifier used for the action diverge. The action dispatched downstream is a PUT to the PowerDNS API path /zones/<zone>/axfr-retrieve, which only applies to secondary/Slave zones, so impact is limited to queuing a zone refresh plus an existence oracle from differing responses; no record data is read or written. The upstream fix in PR #1942 parses the body with request.get_json(), rejects non-object payloads with 400, aborts with 403 when a body 'domain' differs from the URL zone, and drops the body-supplied zone override; it also encodeURIComponent-encodes the zone name in the zone editor JavaScript and adds unit tests (tests/unit/test_zone_update_authorization.py) covering body-override rejection, URL-zone authorization, non-object payloads and CSRF enforcement.

Know when Powerdns Admin gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Authenticated low-privilege user over the network (PR:L, AV:N, AC:L); limited integrity from forcing axfr-retrieve on others' zones (I:L) and limited confidentiality from the zone-existence oracle (C:L); no availability impact, scope unchanged.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

PowerDNS-Admin through 2026.08.1 contains an authorization bypass vulnerability that allows authenticated User-role accounts to refresh secondary zones they cannot access by supplying a different 'domain' field in the JSON body. Attackers authorized for any one zone can force axfr-retrieve transfers of other users' secondary zones and infer zone existence from differing responses.

Threat Intelligence Overview

EPSS Score
0.4%
Top 64% exploitable
Prevalence
Medium
popular open-source web admin UI for PowerDNS, niche management-plane footprint
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy