{"id":"CVE-2026-116672","revision":null,"records":[{"revision":"0d17ed04bdc444d3a0be3da905824b28","observedAt":"2026-10-27T17:43:43.295+00:00","statement":{"source":"cve-program","id":"CVE-2026-116672","aliases":[],"title":"Authlib RFC 7592 examples omit registration-access-token client binding","description":"Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.15 until 1.9.1, the documented ClientConfigurationEndpoint.authenticate_client and ClientConfigurationEndpoint.check_permission reference implementations look up a target client from request-controlled client_id data and check only whether that target is editable, without verifying that request.credential belongs to the target client. Deployments following both examples can allow a client holding any valid registration access token to read, modify, or delete another client's registration. Changing redirect_uris can enable authorization code or token interception, while deleting registrations can deny service to affected clients. This issue is fixed in version 1.9.1.","state":0,"publishedAt":"2026-10-27T16:31:48.429+00:00","modifiedAt":"2026-10-27T16:31:48.429+00:00","affected":[{"ecosystem":"Vendor product","name":"authlib","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"authlib\",\n                    \"product\": \"authlib\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 0.15, < 1.9.1\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","score":8.8,"severity":"HIGH"}],"references":["https://github.com/authlib/authlib/security/advisories/GHSA-c73q-w75p-j82v","https://github.com/authlib/authlib/commit/1bd2a313492ce0a4d0571c150730907aa3fc91ff","https://github.com/authlib/authlib/releases/tag/v1.9.1"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-116672","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-116672","identifiers":["CVE-2026-116672"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-30T17:47:19.2047395+00:00","complete":true,"records":1766,"lastAttemptAt":"2026-10-30T17:47:19.2047395+00:00","lastSuccessAt":"2026-10-30T17:47:19.437838+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:19.4378398+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-7e2c4e7288f2c464ad8c61f3bb6017374714faedcc781283ac06a706ee1a820b-eaf386bcc66750862089c53dbb20b94f352d28d45e3680ead39fc42a5a1efb8b","complete":true,"records":417249,"lastAttemptAt":"2026-10-30T17:45:32.5658953+00:00","lastSuccessAt":"2026-10-30T17:45:32.4016715+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:45:32.5658953+00:00","snapshotPublishedAt":"2026-10-30T17:26:34+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-b5bdbed2ea474c69ac8422d30af3b4df","complete":false,"records":13527,"lastAttemptAt":"2026-10-30T17:59:12.5592535+00:00","lastSuccessAt":"2026-10-30T17:59:12.555+00:00","error":"74 identifier lookups failed; latest failures include HTTP 403. Other identifiers were checked independently.","lastVerifiedAt":"2026-10-30T17:59:12.555+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":12184,"expectedIdentifiers":13605,"failedIdentifiers":74},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-30T17:47:19.2047395+00:00","complete":true,"records":1094,"lastAttemptAt":"2026-10-30T17:47:19.2047395+00:00","lastSuccessAt":"2026-10-30T17:47:19.4387295+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:19.4387297+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-d5ef5319f3714a85a06758c8734f5837","complete":true,"records":13545,"lastAttemptAt":"2026-10-30T17:47:26.3305118+00:00","lastSuccessAt":"2026-10-30T17:47:26.327+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:26.327+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13605,"expectedIdentifiers":13605,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-e091d9104aae1991994c868b5fad0248c9b288abafb7672fca8ae6500f97e080","complete":true,"records":9808,"lastAttemptAt":"2026-10-30T17:47:15.4481935+00:00","lastSuccessAt":"2026-10-30T15:47:48.5635219+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:15.4481935+00:00","snapshotPublishedAt":"2026-10-30T15:23:39+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-2de9ccc5290f060c7aa63f89c25dd76f655a64ba1aba7c05c97fa3bee4f09899","complete":true,"records":1967,"lastAttemptAt":"2026-10-30T17:45:32.7901767+00:00","lastSuccessAt":"2026-10-28T20:55:34.2982937+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:45:32.7901767+00:00","snapshotPublishedAt":"2026-10-28T20:03:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-f7956b0b80c3f12706a4454a1e0aea0c83c0a5730f2cff4597eb5c4eedd05097","complete":true,"records":3023,"lastAttemptAt":"2026-10-30T17:47:19.1649024+00:00","lastSuccessAt":"2026-10-30T17:47:18.9941876+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:19.1649024+00:00","snapshotPublishedAt":"2026-10-30T15:48:06+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-b9c945c1be5e959f6f291c11846a0289b1f1b6add5c591c5cee830369a9f6ce3","complete":true,"records":230957,"lastAttemptAt":"2026-10-30T17:47:15.3068735+00:00","lastSuccessAt":"2026-10-30T17:47:13.9486259+00:00","error":null,"lastVerifiedAt":"2026-10-30T17:47:15.3068735+00:00","snapshotPublishedAt":"2026-10-30T17:34:03+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}