{"id":"CVE-2026-111388","revision":"dd23f8f2f01f4712867938ff58c9aa1b","records":[{"revision":"dd23f8f2f01f4712867938ff58c9aa1b","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-111388","aliases":[],"title":"Frappe before 16.33.0 restrict_ip Allowlist Bypass via API Key, OAuth Authentication","description":"Frappe Framework before 15.120.0 and 16.x before 16.33.0 does not enforce the per-user restrict_ip allowlist for non-session authentication methods, including API key, OAuth, and header-based authentication. Attackers holding valid credentials of these types can authenticate from IP addresses outside the allowlist, defeating the configured network-based access restrictions.","state":0,"publishedAt":"2026-10-16T01:17:56.859+00:00","modifiedAt":"2026-10-16T16:23:33.709+00:00","affected":[{"ecosystem":"Vendor product","name":"frappe","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"frappe\",\n                    \"product\": \"frappe\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"packageURL\": \"pkg:pypi/frappe\",\n                    \"versions\": [\n                        {\n                            \"version\": \"16.0.0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\",\n                            \"lessThan\": \"16.33.0\"\n                        },\n                        {\n                            \"version\": \"16.33.0\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"frappe","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"frappe\",\n                    \"product\": \"frappe\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"packageURL\": \"pkg:pypi/frappe\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\",\n                            \"lessThan\": \"15.120.0\"\n                        },\n                        {\n                            \"version\": \"15.120.0\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","score":5.3,"severity":"MEDIUM"},{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","score":5.4,"severity":"MEDIUM"}],"references":["https://github.com/frappe/frappe/security/advisories/GHSA-h9jq-7pgf-hw8q","https://www.vulncheck.com/advisories/frappe-before-16.33.0-restrict-ip-allowlist-bypass-via-api-key-oauth-authentication"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-111388","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-111388","identifiers":["CVE-2026-111388"]},"retained":false,"historicalAffected":[]}],"coverage":[]}