Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with CA-restricted Krill role
-
DeliverySend request to CA-agnostic endpoint (POST /api/v1/bulk/cas/import)
-
ExploitPermission check grants full rights for non-CA request
-
ExecutionCreate child CA and assign arbitrary resources
-
ImpactMint rogue ROAs altering RPKI authorizations
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 | Exploitation requires the attacker to already hold a valid Krill account with a role that is restricted to a list of CAs (cas = [...]); this is the PR:L prerequisite, so it is an authenticated insider or compromised-credential scenario, not remote-unauthenticated. The trigger is any request that is not tied to a specific CA - the description names POST /api/v1/bulk/cas/import as such an endpoint - where the restricted role is incorrectly granted its full permission set. Limiting factors: a provisioned restricted role/credential is required, and the flaw only manifests on CA-agnostic requests; it most meaningfully affects multi-tenant or delegated deployments where roles are deliberately scoped to subsets of CAs. |
| Impact | This is a genuine, high-impact authorization flaw but one whose real-world risk is bounded by an access prerequisite. The supplied CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L, base 8.4) and CWE-639 (authorization bypass through user-controlled key) agree with the description: an already-authenticated principal escalates beyond its intended scope. Because PR:L is present, exploitation requires a valid Krill account whose role is restricted to a list of CAs - this is an insider / compromised-credential scenario, not anonymous internet exploitation. The scope change (S:C) and C:H/I:H are well-justified because the actor crosses the authorization boundary between distinct CAs in the RPKI hierarchy, able to create child CAs, assign resources, and mint ROAs under any CA. I disagree with the input AC:H: the description presents a deterministic logic flaw (non-CA-scoped requests receive the full permission set) with no attacker-uncontrolled condition, race, or timing described, so AC:L is the honest reading - the trigger mechanism beyond that is not elaborated in the available sources. On exploitation signals: there is no CISA KEV listing and no EPSS score in the input, and the only reference is a vendor advisory, not exploit code - so no active exploitation and no public exploit are indicated. The vuln.today decision label is 'this_week' (prioritize, but not emergency/act_now), consistent with a serious authenticated flaw lacking confirmed in-the-wild use. Net: treat as a real priority for any multi-tenant or delegated Krill deployment, but not a drop-everything emergency, and note the AC and EPSS gaps when ranking. |
| Exploit ScenarioDerived | A Krill user whose role is intentionally restricted to a specific list of CAs sends a request to a CA-agnostic endpoint such as POST /api/v1/bulk/cas/import; because requests not tied to a particular CA are granted the full permission set, the request succeeds. The attacker adds a child CA under any existing CA, assigns it that CA's resources, and creates attacker-chosen ROAs, forging RPKI route authorizations outside their delegation. No public exploit code is identified; only a vendor advisory from NLnet Labs exists. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
An authorization bypass in NLnet Labs Krill allows an account whose role is deliberately scoped to a subset of CAs (cas = [...]) to exercise its full permission set on any API request that is not tied to a specific CA, including the bulk import endpoint POST /api/v1/bulk/cas/import. Exploitation requires a valid, provisioned Krill account holding such a restricted role (PR:L in the CVSS vector, so this is an authenticated insider or compromised-credential scenario), but a successful attacker can create a child CA beneath any existing CA, hand it that CA's resources, and mint the ROAs supplied in the request, affecting other tenants sharing the instance (S:C). No public exploit code and no CISA KEV entry are associated with this CVE at time of analysis, and the vendor advisory is the authoritative source.
RemediationAI
Obtain the fix from the vendor advisory at https://www.nlnetlabs.nl/downloads/krill/CVE-2026-109141.txt, which is the authoritative source for the patched release; the supplied data does not name a specific fixed version, so the exact upgrade target must be read from that advisory rather than assumed, and priority is this-week per the vuln.today decision label. Until the fixed build is deployed, the flaw's mechanics point to compensating measures that reduce but do not eliminate exposure: inventory every account holding a CA-scoped role and temporarily narrow those accounts to read-only or disable them, accepting that delegated operators lose the ability to manage their CAs; block or externally proxy POST /api/v1/bulk/cas/import and other CA-agnostic write endpoints at the network or gateway layer for non-administrative credentials, accepting that legitimate bulk automation by trusted operators must be re-routed or paused; and audit the Krill instance for child CAs, resource assignments and ROAs that the list of CAs of any restricted role would not explain, since those are the artifacts the bypass produces. Treat these as interim containment only - they do not repair the authorization logic.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Krill is NLnet Labs' RPKI Certificate Authority and publication-server implementation, the software that issues CA certificates and signs ROAs for address space holders under the RPKI framework. Its API exposes an RBAC model in which an account may be given a role restricted to an explicit list of CAs, the intended boundary between delegated operators or tenants on a shared instance. The flaw is CWE-639 (Authorization Bypass Through User-Controlled Key): the per-CA permission scoping is keyed on the CA identity carried by a request, and requests that carry no CA identifier fall outside that key. For such CA-agnostic calls the implementation grants the role its full, unscoped permission set instead of failing closed, so the restriction silently evaporates exactly where no per-CA key exists to check against. The description names POST /api/v1/bulk/cas/import as one such endpoint, and the resulting primitive is powerful: the child CA is created under an existing CA chosen by the attacker, inherits or is assigned that CA's resources, and ROAs listed in the request are created for it, which can produce mis-issued RPKI objects. The CVE record scores this 8.4 with AC:H, while the independent assessment re-scores the same vector at AC:L; both agree on PR:L, UI:N, S:C and C:H/I:H/A:L. The practical exposure is concentrated in multi-tenant, delegated or hosted Krill deployments where CA-scoped roles are actually used; single-operator instances with one all-powerful account gain little from the bypass.
Know when Krill 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
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L
Network API with an authenticated restricted role gives AV:N/PR:L; the flaw is a deterministic logic error (AC:L); crossing CA authorization boundaries justifies S:C with C:H/I:H and A:L.
Primary rating from Vendor (NLnet Labs).
CVSS VectorVendor: NLnet Labs
DescriptionCVE.org
The vulnerability gives a role that is restricted to a list of CAs (cas = [...]) its full permission set for every request that is not tied to a CA, including the bulk import endpoint POST /api/v1/bulk/cas/import. It adds a new child CA under any existing CA, gives the child any of that CA's resources, and creates the ROAs given in the request
Executive ViewAI
A high-severity authorization bypass in NLnet Labs Krill allows a low-privileged authenticated user to create subordinate CAs under any existing CA and mint ROAs, affecting all tenants sharing the instance. This undermines the integrity of RPKI operations and could enable BGP hijacking or denial-of-service against downstream networks. Leadership should prioritize immediate mitigation, especially if Krill is used in a multi-tenant or delegated CA environment.
Restrict network access to the Krill API (especially bulk endpoints) to trusted IPs; enforce strong authentication and monitor account activity; for multi-tenant deployments, consider isolating instances per tenant until a patch is applied.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Authorization bypass in NLnet Labs Krill lets an authenticated Krill operator assert an arbitrary child identity during
Nonce reuse in Krill's login-session token encryption lets an attacker who captures multiple encrypted tokens across Kri
NLnet Labs Krill supports direct access to the RRDP repository content through its built-in web server at the "/rrdp" en
EUVD-2026-115256
GHSA-9rcf-27j4-vxg2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB