CVE-2026-109142
HighCVSS 8.4Summary
In Krill, when a parent CA lives on the same server, the RFC 6492 provisioning exchange runs in-process instead of building and verifying a signed CMS message. The child identity (child_handle) supplied by the caller in the parent contact is trusted without verifying that it actually belongs to the requesting CA.
Risk Assessment
An actor able to invoke this path could impersonate another CA and obtain resources or permissions not belonging to its identity. This may lead to unauthorized management of RPKI resources.
Recommendation
Update Krill to a version containing the fix and restrict access to the Krill API to trusted clients only. Verify whether parent and child CAs run on the same server in your deployment.
Other vulnerabilities in Krill
See all- CVE-2026-109141High
A role restricted to a list of CAs (cas = [...]) receives its full permission set for requests not tied to a CA, including the bulk import endpoint POST /api/v1/bulk/cas/import. This allows adding a new child CA under any existing CA, assigning it any of that CA's resources, and creating the ROAs specified in the request.
- CVE-2026-109140High
Krill encrypts every login-session token with a nonce built from a counter that is reset to 0 on every restart, so the same (key, nonce) pair is reused after each restart.
Original NVD description (English source)
When a CA's parent lives on the same Krill server: instead of building and verifying a signed CMS message, it runs the RFC 6492 provisioning exchange in-process and trusts the child identity (child_handle) that the caller put in the parent contact. Nothing checks that this child identity actually belongs to the CA making the request.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

