CVE-2026-116672: Authlib RFC 7592 examples omit registration-access-token client binding

Published Oct 27, 2026
·
Updated

Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.15 until 1.9.1, the documented ClientConfigurationEndpoint.authenticateclient and ClientConfigurationEndpoint.checkpermission reference implementations look up a target client from request-controlled clientid 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 redirecturis 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.

Affected Software

1 affected component
pypi/authlib>=0.15<1.9.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Authlib to a version that resolves this vulnerability.

    Fixed in 1.9.1

Event History

Oct 27, 2026
CVE Published
via MITRE·04:31 PM
Data Sourced
via MITRE·04:31 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments using Authlib from 0.15 through 1.9.0 may be exposed if they implemented both the documented ClientConfigurationEndpoint.authenticate_client and ClientConfigurationEndpoint.check_permission examples. The issue affects OAuth or OpenID Connect server deployments that rely on those reference implementations for dynamic client registration management.

2

What does an attacker need to exploit this?

An attacker needs a valid registration access token for any client. With that token, they can target another client by supplying its client_id, because the vulnerable examples do not verify that the credential belongs to the target client.

3

What could an attacker do with another client's registration?

They can read, modify, or delete the other client's registration. Changing redirect_uris can enable authorization code or token interception, and deleting a registration can deny service to the affected client.

4

What should be done if upgrading is not immediately possible?

Update the authentication and permission logic so that request.credential is verified as belonging to the client identified by the request's client_id before allowing registration access. The documented examples' editable-client check alone is insufficient.

5

How can I determine whether my implementation is affected?

Review custom ClientConfigurationEndpoint.authenticate_client and ClientConfigurationEndpoint.check_permission implementations based on Authlib documentation. They are affected if they obtain the target client from request-controlled client_id data and only check that it is editable, without checking that request.credential belongs to that target client.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203