Kanidm: Unauthenticated process abort via SCIM filter stack exhaustion
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-248.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| kanidm | kanidm | before 1.9.3 | 1.9.3 | Patch available | CNA |
| — | scim_proto (crates.io) | before 1.9.3 | 1.9.3 | Patch available | GHSA-r5fr-9gmv-jggh |
| — | kanidm_proto (crates.io) | before 1.9.3 | 1.9.3 | Patch available | GHSA-r5fr-9gmv-jggh |
- kanidm Vendorkanidm Affected before 1.9.3 Fixed in 1.9.3 Patch available CNA
- scim_proto (crates.io) Vendor— Affected before 1.9.3 Fixed in 1.9.3 Patch available GHSA-r5fr-9gmv-jggh
- kanidm_proto (crates.io) Vendor— Affected before 1.9.3 Fixed in 1.9.3 Patch available GHSA-r5fr-9gmv-jggh
Remediation
- Fix · CNA kanidm (kanidm) Fixed in 1.9.3
- Fix · GHSA-r5fr-9gmv-jggh scim_proto (crates.io) Fixed in 1.9.3 Advisory →
- Fix · GHSA-r5fr-9gmv-jggh kanidm_proto (crates.io) Fixed in 1.9.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-46689
- 2026-10-03 Alias added: GHSA-r5fr-9gmv-jggh
References
Sources
- CVE-2026-46689 · CVE Program
- CVE-2026-46689 · NVD
- FIRST EPSS
- GHSA-r5fr-9gmv-jggh · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences