{"api_version":"1","generated_at":"2026-10-27T07:58:26+00:00","cve":"CVE-2026-117471","urls":{"html":"https://cve.report/CVE-2026-117471","api":"https://cve.report/api/cve/CVE-2026-117471.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-117471","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-117471"},"summary":{"title":"User-controlled Duo host permits authenticated SSRF in Psono Server","description":"Psono Server CE && EE versions 0.1.0 through 7.2.3 accepted a user-controlled host when configuring a personal Duo device and passed it to the Duo client without an allowlist or explicit timeout. An authenticated remote attacker could cause the server to connect to selected hosts over HTTPS on port 443 and distinguish failure modes, providing an internal DNS and service-reachability oracle. Connections still required TLS certificate validation, and the flaw did not provide arbitrary protocol or port access. Unresponsive targets could also occupy a server worker until the operating-system timeout.","state":"PUBLISHED","assigner":"esaqa","published_at":"2026-10-27 06:17:25","updated_at":"2026-10-27 06:17:25"},"problem_types":["CWE-918","CWE-918 CWE-918 Server-Side Request Forgery (SSRF)"],"metrics":[{"version":"3.1","source":"fdf66990-8419-4c8c-8848-ec15d75773b4","type":"Secondary","score":"5.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","baseScore":5.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"LOW"}},{"version":"3.1","source":"CNA","type":"CVSS","score":"5.4","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","version":"3.1"}}],"references":[{"url":"https://gitlab.com/esaqa/psono/psono-server/-/commit/4059830475744791f3d3a1daa4e1603aea5549ed","name":"https://gitlab.com/esaqa/psono/psono-server/-/commit/4059830475744791f3d3a1daa4e1603aea5549ed","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117471.md","name":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117471.md","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://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/new_duo.py","name":"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/new_duo.py","refsource":"fdf66990-8419-4c8c-8848-ec15d75773b4","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-117471","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-117471","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"esaqa GmbH","product":"Psono","version":"affected 0.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-30T08:07: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/new_duo.py","psono/restapi/utils/duo.py"],"repo":"https://gitlab.com/esaqa/psono/psono-server","vendor":"esaqa GmbH","versions":[{"lessThan":"7.2.4","status":"affected","version":"0.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;&amp; EE versions 0.1.0 through 7.2.3 accepted a user-controlled host when configuring a personal Duo device and passed it to the Duo client without an allowlist or explicit timeout. An authenticated remote attacker could cause the server to connect to selected hosts over HTTPS on port 443 and distinguish failure modes, providing an internal DNS and service-reachability oracle. Connections still required TLS certificate validation, and the flaw did not provide arbitrary protocol or port access. Unresponsive targets could also occupy a server worker until the operating-system timeout.</p>"}],"value":"Psono Server CE && EE versions 0.1.0 through 7.2.3 accepted a user-controlled host when configuring a personal Duo device and passed it to the Duo client without an allowlist or explicit timeout. An authenticated remote attacker could cause the server to connect to selected hosts over HTTPS on port 443 and distinguish failure modes, providing an internal DNS and service-reachability oracle. Connections still required TLS certificate validation, and the flaw did not provide arbitrary protocol or port access. Unresponsive targets could also occupy a server worker until the operating-system timeout."}],"impacts":[{"descriptions":[{"lang":"en","value":"An authenticated user could induce outbound HTTPS connections to selected hosts, use response differences as an internal reachability oracle, and occupy workers through connection timeouts."}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"LOW","baseScore":5.4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-918","description":"CWE-918 Server-Side Request Forgery (SSRF)","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-27T05:55:07.068Z","orgId":"fdf66990-8419-4c8c-8848-ec15d75773b4","shortName":"esaqa"},"references":[{"name":"Vendor security advisory for CVE-2026-117471","tags":["vendor-advisory"],"url":"https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117471.md"},{"tags":["technical-description"],"url":"https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/new_duo.py"},{"tags":["patch"],"url":"https://gitlab.com/esaqa/psono/psono-server/-/commit/4059830475744791f3d3a1daa4e1603aea5549ed"},{"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-30T08:07: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":"User-controlled Duo host permits authenticated SSRF in Psono Server","x_generator":{"engine":"Vulnogram 1.0.5"}}},"cveMetadata":{"assignerOrgId":"fdf66990-8419-4c8c-8848-ec15d75773b4","assignerShortName":"esaqa","cveId":"CVE-2026-117471","datePublished":"2026-10-27T05:55:07.068Z","dateReserved":"2026-10-27T05:33:18.001Z","dateUpdated":"2026-10-27T05:55:07.068Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-27 06:17:25","lastModifiedDate":"2026-10-27 06:17:25","problem_types":["CWE-918","CWE-918 CWE-918 Server-Side Request Forgery (SSRF)"],"metrics":{"cvssMetricV31":[{"source":"fdf66990-8419-4c8c-8848-ec15d75773b4","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L","baseScore":5.4,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"LOW"},"exploitabilityScore":2.8,"impactScore":2.5}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"117471","Ordinal":"1","Title":"User-controlled Duo host permits authenticated SSRF in Psono Ser","CVE":"CVE-2026-117471","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"117471","Ordinal":"1","NoteData":"Psono Server CE && EE versions 0.1.0 through 7.2.3 accepted a user-controlled host when configuring a personal Duo device and passed it to the Duo client without an allowlist or explicit timeout. An authenticated remote attacker could cause the server to connect to selected hosts over HTTPS on port 443 and distinguish failure modes, providing an internal DNS and service-reachability oracle. Connections still required TLS certificate validation, and the flaw did not provide arbitrary protocol or port access. Unresponsive targets could also occupy a server worker until the operating-system timeout.","Type":"Description","Title":"User-controlled Duo host permits authenticated SSRF in Psono Ser"}]}}}