Repository navigation
Conversation
Lock oauthlib at 4.0.0 (CVE-2026-49265 is fixed in 4.0.0). Lock-only change within the existing, uncapped "oauthlib >=3.2.2" / "oauthlib >=3.0.0" constraints of kubernetes and requests-oauthlib. Co-Authored-By: Claude Code <noreply@anthropic.com>
etserend
commented
Oct 21, 2026
etserend
left a comment
Contributor
Author
There was a problem hiding this comment.
🤖 This review was generated by the Astra agent (claude-opus-5-5). It may contain mistakes.
Verdict: approve — The lock-only bump of oauthlib to 4.0.0 is consistent and the hashes are correct. The locked client-side consumer still imports cleanly.
etserend
marked this pull request as ready for review
October 21, 2026 17:06
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes CVE-2026-49265 in oauthlib (fixed in 4.0.0): updates the locked version from 3.3.1 to 4.0.0.
From 3.0.0 until 4.0.0, oauthlib's PKCE checks in the OAuth2 authorization-code grant compare the attacker-supplied
code_verifierwith the stored challenge using ordinary string equality, which can leak timing information. The advisory describes this as a defense-in-depth concern for OAuth provider (authorization server) implementations; practical exploitation also needs an intercepted single-use authorization code.splunk-aodoes not import oauthlib and does not run an OAuth provider. oauthlib is only reached transitively in the lock:kubernetes33.1.0 ->requests-oauthlib2.0.0 ->oauthlib, i.e. the optionalcrewaiandallextras on Python 3.13 and older.Changes
poetry.lock: oauthlib3.3.1->4.0.0. No other package changes,pyproject.tomlis untouched (lock-only fix, as for the other transitive-only updates). The new version is within the existing uncapped constraints (kubernetes:oauthlib >=3.2.2,requests-oauthlib:oauthlib >=3.0.0).Major-version check
oauthlib 4.0.0 is a major release. Its breaking changes are provider-side only: JSONP support removed from the token revocation endpoint, and client authentication reorganized in the provider grant types (a request missing
grant_typenow returns400 invalid_request).kubernetesandrequests-oauthlibuse the client side.Test plan
poetry check --lockpasses;poetry update oauthlib --lockchanges only oauthlib, content-hash unchangedkubernetes==33.1.0andrequests-oauthlib==2.0.0:pip checkclean on oauthlib 4.0.0, and the same client-side checks pass on 3.3.1 and 4.0.0 (WebApplicationClientauthorization URL and token parsing,OAuth2Sessionauthorization URL, client-credentials and password request bodies, OAuth1 signing, import ofkubernetes.config.kube_config)Not verified: the project's unit suite and type-check were not run (oauthlib is not installed in the default development environment, which is Python 3.14 without the
crewaiextra), and no real Kubernetes OIDC login was exercised.🤖 Generated with Claude Code