{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2026-117472",
        "assignerOrgId": "fdf66990-8419-4c8c-8848-ec15d75773b4",
        "state": "PUBLISHED",
        "assignerShortName": "esaqa",
        "dateReserved": "2026-10-27T05:33:18.001Z",
        "datePublished": "2026-10-27T05:56:16.775Z",
        "dateUpdated": "2026-10-27T05:56:16.775Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "fdf66990-8419-4c8c-8848-ec15d75773b4",
                "shortName": "esaqa",
                "dateUpdated": "2026-10-27T05:56:16.775Z"
            },
            "title": "URL prefix handling permits API key read-scope bypass in Psono Server",
            "datePublic": "2026-10-27T00:00:00.000Z",
            "problemTypes": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "cweId": "CWE-863",
                            "description": "CWE-863 Incorrect Authorization",
                            "type": "CWE"
                        }
                    ]
                }
            ],
            "impacts": [
                {
                    "descriptions": [
                        {
                            "lang": "en",
                            "value": "A write-only API key could read encrypted secret records through the bulk-secret-read endpoint despite having its read scope disabled."
                        }
                    ]
                }
            ],
            "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/permissions.py"
                    ],
                    "versions": [
                        {
                            "status": "affected",
                            "version": "4.0.33",
                            "lessThan": "7.2.4",
                            "versionType": "semver"
                        }
                    ],
                    "defaultStatus": "unaffected"
                }
            ],
            "descriptions": [
                {
                    "lang": "en",
                    "value": "Psono Server CE && EE versions 4.0.33 through 7.2.3 compared the request path for the bulk-secret-read endpoint with a hard-coded unprefixed path. In deployments configured with URL_PREFIX, the comparison failed and the POST request was authorized using write scope instead of read scope. An authenticated remote attacker with an unusual read-disabled, write-enabled API key could therefore retrieve encrypted secret data and nonces through the prefixed bulk-secret-read endpoint despite lacking read permission. The default configuration without URL_PREFIX was not affected.",
                    "supportingMedia": [
                        {
                            "type": "text/html",
                            "base64": false,
                            "value": "<p>Psono Server CE &amp;&amp; EE versions 4.0.33 through 7.2.3 compared the request path for the bulk-secret-read endpoint with a hard-coded unprefixed path. In deployments configured with URL_PREFIX, the comparison failed and the POST request was authorized using write scope instead of read scope. An authenticated remote attacker with an unusual read-disabled, write-enabled API key could therefore retrieve encrypted secret data and nonces through the prefixed bulk-secret-read endpoint despite lacking read permission. The default configuration without URL_PREFIX was not affected.</p>"
                        }
                    ]
                }
            ],
            "references": [
                {
                    "url": "https://gitlab.com/esaqa/esaqa/security-advisories/-/blob/master/advisories/CVE-2026-117472.md",
                    "name": "Vendor security advisory for CVE-2026-117472",
                    "tags": [
                        "vendor-advisory"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server/-/blob/v7.2.3/psono/restapi/permissions.py",
                    "tags": [
                        "technical-description"
                    ]
                },
                {
                    "url": "https://gitlab.com/esaqa/psono/psono-server/-/commit/5638d4be806af7d1dea03f7cad3927aa2bd19cf4",
                    "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": "NONE",
                        "baseSeverity": "MEDIUM",
                        "baseScore": 4.3,
                        "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N"
                    }
                }
            ],
            "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:29:00.000Z",
                    "lang": "en",
                    "value": "Vendor fix implemented"
                },
                {
                    "time": "2026-07-30T13:16:00.000Z",
                    "lang": "en",
                    "value": "Psono CE & EE Server 7.2.4 released"
                }
            ],
            "credits": [
                {
                    "lang": "en",
                    "value": "Ryan Chaplin",
                    "type": "finder"
                }
            ],
            "source": {
                "discovery": "EXTERNAL"
            },
            "x_generator": {
                "engine": "Vulnogram 1.0.5"
            }
        }
    }
}