8.7 HIGH
- CVSS version (CVSS): 4.0
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Attack Requirement (AT): None (N)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Vulnerable System Impact Confidentiality (VC): None (N)
- Vulnerable System Impact Integrity (VI): None (N)
- Vulnerable System Impact Availability (VA): High (H)
- Subsequent System Impact Confidentiality (SC): None (N)
- Subsequent System Impact Integrity (SI): None (N)
- Subsequent System Impact Availability (SA): None (N)
- Modified Attack Vector (MAV): Network (N)
- Modified Attack Complexity (MAC): Low (L)
- Modified Attack Requirement (MAT): None (N)
- Modified Privileges Required (MPR): None (N)
- Modified User Interaction (MUI): None (N)
- Modified Vulnerable System Impact Confidentiality (MVC): None (N)
- Modified Vulnerable System Impact Integrity (MVI): None (N)
- Modified Vulnerable System Impact Availability (MVA): High (H)
- Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
- Modified Subsequent System Impact Integrity (MSI): Negligible (N)
- Modified Subsequent System Impact Availability (MSA): Negligible (N)
- Safety (S): Not Defined (X)
- Automatable (AU): Not Defined (X)
- Recovery (R): Not Defined (X)
- Value Density (V): Not Defined (X)
- Vulnerability Response Effort (RE): Not Defined (X)
- Provider Urgency (U): Not Defined (X)
- Confidentiality Req. (CR): Not Defined (X)
- Integrity Req. (IR): Not Defined (X)
- Availability Req. (AR): Not Defined (X)
- Exploit Maturity (E): Not Defined (X)
Activity log
- Created suggestion
Kanidm: Unauthenticated process abort via SCIM filter stack exhaustion
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.
References
-
https://github.com/kanidm/kanidm/security/advisories/GHSA-r5fr-9gmv-jggh x_refsource_CONFIRM
-
https://github.com/kanidm/kanidm/releases/tag/v1.9.3 x_refsource_MISC
Affected products
- ==< 1.9.3
Matching in nixpkgs
pkgs.kanidm_1_8
Simple, secure and fast identity management platform
pkgs.kanidm_1_9
Simple, secure and fast identity management platform
pkgs.kanidm_1_10
Simple, secure and fast identity management platform
pkgs.kanidm-provision
Small utility to help with kanidm provisioning
pkgs.python313Packages.kanidm
Kanidm client library
pkgs.python314Packages.kanidm
Kanidm client library
pkgs.kanidmWithSecretProvisioning_1_8
Simple, secure and fast identity management platform
pkgs.kanidmWithSecretProvisioning_1_9
Simple, secure and fast identity management platform
Package maintainers
-
@oddlama oddlama <oddlama@oddlama.org>
-
@Flakebi Sebastian Neubauer <flakebi@t-online.de>
-
@adamcstephens Adam C. Stephens <happy.plan4249@valkor.net>
-
@mweinelt Martin Weinelt <hexa@darmstadt.ccc.de>
-
@arianvp Arian van Putten <arian.vanputten@gmail.com>