WebAuthn assertion replay permits second-factor bypass in Psono Server
Impact
Psono Server CE & EE versions 3.1.0 through 7.2.3 did not consume a stored WebAuthn challenge after assertion verification. An unauthenticated remote attacker who possessed the user's password and one captured valid WebAuthn assertion could replay that assertion with separate login tokens while the stored challenge remained unchanged, bypassing the WebAuthn second factor. The attack required capture of a valid assertion and did not itself disclose plaintext secrets.
Source excerpt · esaqaWhat to do
Upgrade to Psono Server 7.2.4 or later.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
esaqa GmbH · Psono
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 3.1.0 to before 7.2.4 | affected |
Original source description
Psono Server CE & EE versions 3.1.0 through 7.2.3 did not consume a stored WebAuthn challenge after assertion verification. An unauthenticated remote attacker who possessed the user's password and one captured valid WebAuthn assertion could replay that assertion with separate login tokens while the stored challenge remained unchanged, bypassing the WebAuthn second factor. The attack required capture of a valid assertion and did not itself disclose plaintext secrets.
References
- Security advisory gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117470.md
- Source reference gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/webauthn_verify.py
- Patch gitlab.com/esaqa/psono/psono-server/-/commit/9c9a7f1701535df63370340dcc80210737dc495d
- Release notes gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4
- Source reference gitlab.com/esaqa/psono/psono-server