Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| kanidm | kanidm | < 1.9.3 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | kanidm_proto | < 1.9.3 | 1.9.3 | GHSA-r5fr-9gmv-jggh |
| crates.io | scim_proto | < 1.9.3 | 1.9.3 | GHSA-r5fr-9gmv-jggh |