{"api_version":"1","generated_at":"2026-10-27T07:58:25+00:00","cve":"CVE-2026-117470","urls":{"html":"https://cve.report/CVE-2026-117470","api":"https://cve.report/api/cve/CVE-2026-117470.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-117470","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-117470"},"summary":{"title":"WebAuthn assertion replay permits second-factor bypass in Psono Server","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.","state":"PUBLISHED","assigner":"esaqa","published_at":"2026-10-27 06:17:24","updated_at":"2026-10-27 06:17:24"},"problem_types":["CWE-294","CWE-294 CWE-294 Authentication Bypass by Capture-replay"],"metrics":[{"version":"3.1","source":"fdf66990-8419-4c8c-8848-ec15d75773b4","type":"Secondary","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"HIGH","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"6.5","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","version":"3.1"}}],"references":[{"url":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117470.md","name":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117470.md","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/esaqa/psono/psono-server/-/commit/9c9a7f1701535df63370340dcc80210737dc495d","name":"https://gitlab.com/esaqa/psono/psono-server/-/commit/9c9a7f1701535df63370340dcc80210737dc495d","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/webauthn_verify.py","name":"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/webauthn_verify.py","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/esaqa/psono/psono-server","name":"https://gitlab.com/esaqa/psono/psono-server","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4","name":"https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-117470","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117470","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"esaqa GmbH","product":"Psono","version":"affected 3.1.0 7.2.4 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-07-29T16:10:00.000Z","lang":"en","value":"Vulnerability reported to vendor"},{"source":"CNA","time":"2026-07-30T07:49:00.000Z","lang":"en","value":"Vendor fix implemented"},{"source":"CNA","time":"2026-07-30T13:16:00.000Z","lang":"en","value":"Psono Server CE & EE 7.2.4 released"}],"solutions":[{"source":"CNA","title":"","value":"Upgrade to Psono Server 7.2.4 or later.","time":"","lang":"en"}],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Ryan Chaplin","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","modules":["Psono Server Community Edition","Psono Server Enterprise Edition"],"product":"Psono","programFiles":["psono/restapi/serializers/webauthn_verify.py"],"repo":"https://gitlab.com/esaqa/psono/psono-server","vendor":"esaqa GmbH","versions":[{"lessThan":"7.2.4","status":"affected","version":"3.1.0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Ryan Chaplin"}],"datePublic":"2026-10-27T00:00:00.000Z","descriptions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p>Psono Server CE &amp; 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.</p>"}],"value":"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."}],"impacts":[{"descriptions":[{"lang":"en","value":"An attacker with a user's password and one captured valid WebAuthn assertion could replay the assertion to bypass the WebAuthn second factor and gain account access."}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-294","description":"CWE-294 Authentication Bypass by Capture-replay","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-27T05:53:41.709Z","orgId":"fdf66990-8419-4c8c-8848-ec15d75773b4","shortName":"esaqa"},"references":[{"name":"Vendor security advisory for CVE-2026-117470","tags":["vendor-advisory"],"url":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117470.md"},{"tags":["technical-description"],"url":"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/webauthn_verify.py"},{"tags":["patch"],"url":"https://gitlab.com/esaqa/psono/psono-server/-/commit/9c9a7f1701535df63370340dcc80210737dc495d"},{"tags":["release-notes"],"url":"https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4"},{"tags":["product"],"url":"https://gitlab.com/esaqa/psono/psono-server"}],"solutions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"<p>Upgrade to Psono Server 7.2.4 or later.</p>"}],"value":"Upgrade to Psono Server 7.2.4 or later."}],"source":{"discovery":"EXTERNAL"},"timeline":[{"lang":"en","time":"2026-07-29T16:10:00.000Z","value":"Vulnerability reported to vendor"},{"lang":"en","time":"2026-07-30T07:49:00.000Z","value":"Vendor fix implemented"},{"lang":"en","time":"2026-07-30T13:16:00.000Z","value":"Psono Server CE & EE 7.2.4 released"}],"title":"WebAuthn assertion replay permits second-factor bypass in Psono Server","x_generator":{"engine":"Vulnogram 1.0.5"}}},"cveMetadata":{"assignerOrgId":"fdf66990-8419-4c8c-8848-ec15d75773b4","assignerShortName":"esaqa","cveId":"CVE-2026-117470","datePublished":"2026-10-27T05:53:41.709Z","dateReserved":"2026-10-27T05:33:18.001Z","dateUpdated":"2026-10-27T05:53:41.709Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-27 06:17:24","lastModifiedDate":"2026-10-27 06:17:24","problem_types":["CWE-294","CWE-294 CWE-294 Authentication Bypass by Capture-replay"],"metrics":{"cvssMetricV31":[{"source":"fdf66990-8419-4c8c-8848-ec15d75773b4","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N","baseScore":6.5,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"HIGH","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":4.2}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"117470","Ordinal":"1","Title":"WebAuthn assertion replay permits second-factor bypass in Psono ","CVE":"CVE-2026-117470","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"117470","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"WebAuthn assertion replay permits second-factor bypass in Psono "}]}}}