{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-117471",
        "assignerOrgId": "fdf66990-8419-4c8c-8848-ec15d75773b4",
        "state": "PUBLISHED",
        "assignerShortName": "esaqa",
        "dateReserved": "2026-10-27T05:33:18.001Z",
        "datePublished": "2026-10-27T05:55:07.068Z",
        "dateUpdated": "2026-10-27T05:55:07.068Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "fdf66990-8419-4c8c-8848-ec15d75773b4",
                "shortName": "esaqa",
                "dateUpdated": "2026-10-27T05:55:07.068Z"
            },
            "title": "User-controlled Duo host permits authenticated SSRF in Psono Server",
            "datePublic": "2026-10-27T00:00:00.000Z",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "cweId": "CWE-918",
                            "description": "CWE-918 Server-Side Request Forgery (SSRF)",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "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."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "vendor": "esaqa GmbH",
                    "product": "Psono",
                    "repo": "https://gitlab.com/esaqa/psono/psono-server",
                    "modules": [
                        "Psono Server Community Edition",
                        "Psono Server Enterprise Edition"
                    ],
                    "programFiles": [
                        "psono/restapi/serializers/new_duo.py",
                        "psono/restapi/utils/duo.py"
                    ],
                    "versions": [
                        {
                            "status": "affected",
                            "version": "0.1.0",
                            "lessThan": "7.2.4",
                            "versionType": "semver"
                        }
                    ],
                    "defaultStatus": "unaffected"
                }
            ],
            "descriptions": [
                {
                    "lang": "en",
                    "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.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "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>"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117471.md",
                    "name": "Vendor security advisory for CVE-2026-117471",
                    "tags": [
                        "vendor-advisory"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/serializers/new_duo.py",
                    "tags": [
                        "technical-description"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server/-/commit/4059830475744791f3d3a1daa4e1603aea5549ed",
                    "tags": [
                        "patch"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server/-/releases/v7.2.4",
                    "tags": [
                        "release-notes"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server",
                    "tags": [
                        "product"
                    ]
                }
            ],
            "metrics": [
                {
                    "format": "CVSS",
                    "scenarios": [
                        {
                            "lang": "en",
                            "value": "GENERAL"
                        }
                    ],
                    "cvssV3_1": {
                        "version": "3.1",
                        "attackVector": "NETWORK",
                        "attackComplexity": "LOW",
                        "privilegesRequired": "LOW",
                        "userInteraction": "NONE",
                        "scope": "UNCHANGED",
                        "confidentialityImpact": "LOW",
                        "integrityImpact": "NONE",
                        "availabilityImpact": "LOW",
                        "baseSeverity": "MEDIUM",
                        "baseScore": 5.4,
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L"
                    }
                }
            ],
            "solutions": [
                {
                    "lang": "en",
                    "value": "Upgrade to Psono Server 7.2.4 or later.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>Upgrade to Psono Server 7.2.4 or later.</p>"
                        }
                    ]
                }
            ],
            "timeline": [
                {
                    "time": "2026-07-29T16:10:00.000Z",
                    "lang": "en",
                    "value": "Vulnerability reported to vendor"
                },
                {
                    "time": "2026-07-30T08:07:00.000Z",
                    "lang": "en",
                    "value": "Vendor fix implemented"
                },
                {
                    "time": "2026-07-30T13:16:00.000Z",
                    "lang": "en",
                    "value": "Psono Server CE & EE 7.2.4 released"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Ryan Chaplin",
                    "type": "finder"
                }
            ],
            "source": {
                "discovery": "EXTERNAL"
            },
            "x_generator": {
                "engine": "Vulnogram 1.0.5"
            }
        }
    }
}