Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. kanidm
  4. ›
  5. GHSA-gpxg-fx2g-qxj2

GHSA-gpxg-fx2g-qxj2: Kanidm: Stored HTML injection in "passkey-enrolment" partial via displayname → htmx-driven authenticated request forgery

May 6, 2026

The kanidmd web UI renders the WebAuthn passkey-registration challenge as raw JSON inside an inline <script id="data"> element using the Askama |safe filter. The challenge embeds the account’s displayname, which serde_json serialises without escaping </>. A displayname containing </script> therefore terminates the script element early and injects arbitrary HTML into the credential-update page. Because the page is htmx-driven and the server’s CSP allows 'unsafe-eval', injected hx-* attributes can issue authenticated same-origin API requests with the viewer’s bearer cookie.

References

  • github.com/advisories/GHSA-gpxg-fx2g-qxj2
  • github.com/kanidm/kanidm
  • github.com/kanidm/kanidm/security/advisories/GHSA-gpxg-fx2g-qxj2

Code Behaviors & Features

Detect and mitigate GHSA-gpxg-fx2g-qxj2 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.9.3

Fixed versions

  • 1.9.3

Solution

Upgrade to version 1.9.3 or above.

Impact 6.1 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N

Learn more about CVSS

Weakness

  • CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Source file

cargo/kanidm/GHSA-gpxg-fx2g-qxj2.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 00:20:49 +0000.