{"id":"CVE-2026-7817","aliases":["GHSA-p58c-q354-6c4f","PYSEC-2026-2871"],"url":"https://o3.security/vulnerability/CVE-2026-7817","summary":"pgAdmin 4: Local file inclusion and server-side request forgery in LLM API configuration endpoints","details":"Local file inclusion (LFI) and server-side request forgery (SSRF) vulnerabilities in pgAdmin 4 LLM API configuration endpoints.\n\nUser-supplied api_key_file and api_url preferences were passed to the LLM provider clients without validation. An authenticated user could read arbitrary server-side files by pointing api_key_file at any path readable by the pgAdmin process, or coerce pgAdmin into making requests to internal targets (e.g. cloud metadata services such as 169.254.169.254) by setting api_url, exploiting the chat path and model-list endpoints.\n\nFix restricts api_key_file to the user's private storage (server mode) or home directory (desktop mode), enforces a printable-ASCII key shape and a 1024-byte read cap, and gates api_url against a configurable allow-list (config.ALLOWED_LLM_API_URLS) at every entry point.\n\nThis issue affects pgAdmin 4: before 9.15.","published":"2026-05-11T14:35:51.384Z","modified":"2026-08-07T11:31:10.441128287Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"pgadmin4","fixedVersion":"9.15"}],"fix":null,"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/7xxx/CVE-2026-7817.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-7817"},{"type":"REPORT","url":"https://github.com/pgadmin-org/pgadmin4/issues/9900"},{"type":"PACKAGE","url":"https://github.com/pgadmin-org/pgadmin4"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-07T11:31:10.441128287Z"}}