This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+7 more
Affected surfaces
ReleasePort's take
Light signalVersion v1.10.2 patches a critical privilege escalation flaw enabling any authenticated user to modify entry attributes, risking full compromise.
Why it matters: Patch immediately; the vulnerability allows authenticated users to modify any readable entry attribute, leading to complete system compromise.
Summary
AI summaryCritical privilege escalation vulnerability allows any authenticated user to modify attributes of entries they can read, leading to full compromise.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
PNG image validation incorrectly handles short images, causing worker thread panic. PNG image validation incorrectly handles short images, causing worker thread panic. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
Non-constant time comparison of OAuth2 client secret may leak secret bytes. Non-constant time comparison of OAuth2 client secret may leak secret bytes. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Security | Medium |
Authenticated users can modify any entry attributes, enabling privilege escalation. Authenticated users can modify any entry attributes, enabling privilege escalation. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
SCIM filter parsing lacks depth bound, allowing unauthenticated stack exhaustion DoS. SCIM filter parsing lacks depth bound, allowing unauthenticated stack exhaustion DoS. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
LDAP filter parsing lacks depth bound, allowing unauthenticated stack exhaustion DoS. LDAP filter parsing lacks depth bound, allowing unauthenticated stack exhaustion DoS. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
HTML injection via user DisplayName in Passkey enrolment dialogs. HTML injection via user DisplayName in Passkey enrolment dialogs. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Security | Medium |
Webauthn origin validation allows domain collision, mitigated by browser detection. Webauthn origin validation allows domain collision, mitigated by browser detection. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Kanidm-unixd supports bind mounts as alternative to symlinks for home mapping. Kanidm-unixd supports bind mounts as alternative to symlinks for home mapping. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Add OIDC prompt parameter support for authentication flows. Add OIDC prompt parameter support for authentication flows. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Add .well-known/passkey-endpoints discovery endpoint. Add .well-known/passkey-endpoints discovery endpoint. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
CLI allows clearing person's legalname attribute. CLI allows clearing person's legalname attribute. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Add PasswordChangedTime attribute and database field for tracking. Add PasswordChangedTime attribute and database field for tracking. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Add OIDC updated_at claim support. Add OIDC updated_at claim support. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Allow LDAP CA verification to be disabled in synchronization. Allow LDAP CA verification to be disabled in synchronization. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Send account recovery emails to users, manually triggered by administrators. Send account recovery emails to users, manually triggered by administrators. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Allow modification of OAuth2 refresh token expiry settings. Allow modification of OAuth2 refresh token expiry settings. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Add bind mount home directory strategy as unixd configuration option. Add bind mount home directory strategy as unixd configuration option. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Account recovery feature allows users to reset credentials via email verification. Account recovery feature allows users to reset credentials via email verification. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Dependency | Medium |
OpenSSL no longer required, cryptographic paths use RustCrypto or Rustls. OpenSSL no longer required, cryptographic paths use RustCrypto or Rustls. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Revert client_id header in JWTs for OAuth2/OIDC compatibility. Revert client_id header in JWTs for OAuth2/OIDC compatibility. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Disable OIDC prompt=login flow due to identified issues. Disable OIDC prompt=login flow due to identified issues. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fix javascript encoding preventing new Webauthn enrolments from completing. Fix javascript encoding preventing new Webauthn enrolments from completing. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Correct incorrect text in TOTP CLI credential updates. Correct incorrect text in TOTP CLI credential updates. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Handle multivalue URLs in SCIM specifications. Handle multivalue URLs in SCIM specifications. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Correctly encode SSH tag values in identity management. Correctly encode SSH tag values in identity management. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Correctly handle deleted accounts during page visits. Correctly handle deleted accounts during page visits. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Invert incorrect thread count logic. Invert incorrect thread count logic. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Prevent reversion of admin changes in groups during migration. Prevent reversion of admin changes in groups during migration. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Remove debug-symbols from release builds to reduce container image sizes. Remove debug-symbols from release builds to reduce container image sizes. Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
2026-05-14 - Kanidm 1.10.2 - Patch (Security: CRITICAL)
This update resolves 1 security issues which allows privilege escalation to be performed by any authenticated user. We have no evidence that this is in active exploitation.
- Security - Critical: Any authenticated user is able to modify the attributes of any entry they have read permissions over. This is due to a logic flaw in modification access control application. Since all authenticated users are able to read all groups and group members, any authenticated user is able to add themself to any privileged group resulting in complete compromise of the servers security boundaries.
- Revert client_id header in JWTs used in OAuth2/OIDC - this is due to incorrect behaviour of some OAuth2 clients rejecting content of the protected header.
- Disable OIDC prompt=login - a number of issues were identified in this flow that are unable to be trivially fixed until a future release.
- Remove debug-symbols from release builds to reduce container image sizes.
Thanks to @kmq for the initial security report, and the Kanidm team for identifying the extended risk posed from the initial report.
2026-05-07 - Kanidm 1.10.1 - Patch
- Resolve an incorrect javascript encoding of some fields that prevents new Webauthn enrolments from completing
- Correct incorrect text in TOTP CLI credential updates
2026-05-01 - Kanidm 1.10.0
This is the latest stable release of the Kanidm Identity Management project. Every release is the combined effort of our
community and we appreciate their invaluable contributions, comments, questions, feedback and support.
You should review our support documentation as this may have important effects on your distribution or upgrades in
future.
Before upgrading you should review our upgrade documentation
1.10.0 Important Changes
- OpenSSL is no longer required as a dependency. All cryptographic paths have been replaced by RustCrypto or Rustls using aws-lc-rs.
- Kanidm-unixd now supports bind mounts as an alternative to symlinks for home mapping.
- Account recovery can be enabled as a feature allowing a user to prove knowledge of their own email, and then have a credential reset email sent to them.
- Administrators can also trigger account recovery emails to be sent to users.
1.10.0 Release Highlights
- Security - High: SCIM Filters did not contain a bound on their parsing depth allowing stack exhaustion to occur leading to Denial of Service by an unauthenticated user
- Security - High: LDAP Filters did not contain a bound on their parsing depth allowing stack exhaustion to occur leading to Denial of Service by an unauthenticated user
- Security - Moderate: PNG Image validation did not correctly handle short images allowing a panic to occur in a worker thread. This may lead to system instability over time
- Security - Low: HTML injection via user DisplayName in Passkey enrolment dialogs. This allows an admin to execute JS in the context of a users browser. Since the admin already can reset the users credentials, the impact of this is minimal.
- Security - Low: non-constant time comparison of OAuth2 client secret may allow a remote attacker to remotely recovery the bytes of the secret. Due to the length of the secret (48 chars) this is infeasible practically.
- Security - Low: incorrect handling of origin validation in Webauthn-RS allowed a malicious domain to collide with a valid one (badexample.com would match with example.com). This is mitigated by browsers detecting the forgery and preventing the authentication from proceeding.
- 20260331 send account recovery emails (#4259)
- Invert incorrect thread count logic (#4294)
- Allow modification of OAuth2 Refresh Expiry (#4276)
- Introspection token auth metadata (#4230)
- Correctly handle deleted accounts during page visits (#4275)
- don't fail auth when passed ui_locales (#4288)
- Feat: Add OIDC Prompt Support (#4224)
- Handle multivalue URLs in SCIM (#4271)
- Correctly encode ssh tag values (#4272)
- Add .well-known/passkey-endpoints (#4255)
- show repl cert metadata and also handle socket timeouts (#4252)
- add dependency data to released containers (#4239)
- cli: allow clearing person's legalname attribute (#4228)
- OpenSSL shall be vanquished (#4219)
- add nsswitch config check to unixd (#4210)
- Added PasswordChangedTime attribute and database field (#3999)
- Improve FreeBSD building, fully drop ring as a dependency.
- credential reset emails (authenticated only) (#4151)
- feat: bind mount home strategy (#3997)
- Don't revert admin changes in some groups during migrcation (#4176)
- Alert on unsaved changes (#4155)
- Warn about systemd-userdb (#4147)
- Dont token introspection relies on token validity rather than basic auth (#4142)
- Feature OIDC updated at (#4007)
- Bye bye lazy static (#4134)
- Allow LDAP CA verification to be disabled in sync (#4133)
Security Fixes
- CVE-2026-XXXXX: Privilege escalation – any authenticated user can modify attributes of entries they have read access to (critical)
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v1.9.4 Upgrade/downgrade constraints are now stricter to prevent administrative mistakes.
Beta — feedback welcome: [email protected]