PyJWT 2.13.0 peut accepter comme secret HMAC un JWK public encapsulé dans un objet JWKS, un tableau ou un conteneur imbriqué, dans certaines configurations mélangeant algorithmes HMAC et asymétriques. Le défaut est corrigé dans PyJWT 2.14.0 ; séparer les chemins de vérification et mettre à niveau.
Source : GHSA-w2cx-738m-mc7w — PyJWT accepts public JWK containers as HMAC secrets
Analyse technique
Le contournement de la défense d’HMAC concerne les conteneurs JWK/JWKS qui ne présentent pas un membre kty au niveau supérieur. Le risque suppose notamment que l’application autorise des algorithmes HMAC et asymétriques et passe le matériel JWK public comme clé brute.
Impact, versions et correctif
Action recommandée
Mettre à niveau vers PyJWT 2.14.0 ou ultérieure et ne pas mélanger les algorithmes HMAC et asymétriques dans un même chemin de vérification.
Sources
Priorisation DFS : P3 · 1 source(s).