Skip to main content

NLnet Labs Krill CVE-2026-109141

| EUVDEUVD-2026-115256 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-11-02 NLnet Labs GHSA-9rcf-27j4-vxg2
8.4
CVSS 3.1 · Vendor: NLnet Labs
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with CA-restricted Krill role
  2. Delivery
    Send request to CA-agnostic endpoint (POST /api/v1/bulk/cas/import)
  3. Exploit
    Permission check grants full rights for non-CA request
  4. Execution
    Create child CA and assign arbitrary resources
  5. Impact
    Mint 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Krill patch: 0.16.1

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

Vendor (NLnet Labs) PRIMARY 8.4 HIGH
AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:L
vuln.today AI 9.9 CRITICAL

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.

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

Primary rating from Vendor (NLnet Labs).

CVSS VectorVendor: NLnet Labs

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
Low

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
RPKI delegated-CA software used only by network operators and RIRs
Data Quality
4 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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