CVE-2026-46689 PUBLISHED

Kanidm: Unauthenticated process abort via SCIM filter stack exhaustion

Assigner: GitHub_M
Reserved: 15.05.2026 Published: 10.06.2026 Updated: 11.06.2026

Kanidm is an identity management platform. Prior to version 1.9.3, a single unauthenticated GET to any /scim/v1/... endpoint with a ?filter= query string of a few thousand nested parentheses (≈ 4–12 KB) drives the recursive-descent PEG parser past the worker thread's stack guard page. Rust responds to stack overflow with std::process::abort() — the entire kanidmd process exits. The parse runs inside axum's Query<ScimEntryGetQuery> extractor, before any handler body and therefore before any ACL check. This issue has been patched in version 1.9.3.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor kanidm
Product kanidm
Versions
  • Version < 1.9.3 is affected

References

Problem Types

  • CWE-248: Uncaught Exception CWE
  • CWE-400: Uncontrolled Resource Consumption CWE
  • CWE-674: Uncontrolled Recursion CWE