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 extractor, before any handler body and therefore before any ACL check. This issue has been patched in version 1.9.3.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-248",
"CWE-400",
"CWE-674"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/46xxx/CVE-2026-46689.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.9.3"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"original_tag": "v1.9.3",
"range": [
{
"fixed": "7d4108698caeb324bb27a9d83b081d5701760131"
}
],
"source": "REFERENCES_TAG"
},
{
"range": [
{
"introduced": "0"
},
{
"fixed": "1.9.3"
}
],
"source": "DESCRIPTION"
}
]
}