<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T15:57:13.032522+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-102273</id>
    <title>CVE-2026-102273 — PyJWT accepts public JWK containers as HMAC secrets</title>
    <updated>2026-10-01T15:57:13.034912+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> jpadilla pyjwt</p>
<p>PyJWT is a Python implementation of JSON Web Token standards. From 2.13.0 until 2.14.0, PyJWT HMACAlgorithm.prepare_key is affected because HMAC key guard only recognizes top-level public JWK forms and misses container representations. This occurs when an application allows HMAC and asymmetric algorithms and passes a public JWK container as the raw key. As a result, public asymmetric key material is accepted as the HMAC secret. Consequently, an attacker who knows the public key can forge a token with arbitrary authenticated claims. This issue is fixed in version 2.14.0.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-102273"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-w2cx-738m-mc7w</id>
    <title>GHSA-w2cx-738m-mc7w — PyJWT accepts public JWK containers as HMAC secrets</title>
    <updated>2026-10-01T15:57:13.034965+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: PyJWT</p>
<p>### Summary</p>
<p>PyJWT 2.13.0 contains an incomplete defense against algorithm confusion when
an application mixes symmetric and asymmetric algorithms in one verification
path. A public RSA, EC, or OKP JWK can be accepted as an HMAC secret when it
is wrapped in a JWKS object, nested in an array, or represented in another
container form that does not expose a top-level `kty` member.</p>
<p>### Impact</p>
<p>An attacker who knows the public key material can forge HS256/HS384/HS512
tokens if the application simultaneously:</p>
<p>* allows both HS* and asymmetric algorithms;
* passes raw public JWK/JWKS JSON as `key=`; and
* uses that same value as the HMAC secret.</p>
<p>This can allow forged JWT claims in affected application configurations. The
issue does not affect applications that keep symmetric and asymmetric
verification paths separate and follow PyJWT's algorithm-selection guidance.</p>
<p>### Fix status</p>
<p>The fix is on `master` in commit `801cd12` (`fix: reject public JWK container
HMAC keys`). `HMACAlgorithm.prepare_key` now rejects public JWK members found in
objects, arrays, nested containers, BOM/UTF variants, and recursion-limit
inputs. It also recognizes escaped JSON member names without treating ordinary
string values as JWKs. Ordinary JSON secrets remain accepted byte-for-byte.</p>
<p>The change was tested with focused regression tests and the full local tox
matrix. Available Python 3.9, 3.12, and 3.13 crypto/no-crypto suites, mypy,
package metadata, and coverage passed; unavailable interpreters were…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-w2cx-738m-mc7w"/>
  </entry>
</feed>
