<?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://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T18:57:10.201297+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" 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://cve.radiocsirt.org/vuln/bell-cve-2026-48525</id>
    <title>BELL-CVE-2026-48525</title>
    <updated>2026-10-03T18:57:10.241583+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p><strong>Affected:</strong> Alpaquita:25: py3-jwt, Alpaquita:stream: py3-jwt</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/bell-cve-2026-48525"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/brew-azure-cli-cve-2026-48525</id>
    <title>BREW-azure-cli-CVE-2026-48525 — PyJWT: Unauthenticated DoS via unbounded Base64URL decoding of unused payload segment in b64=false detached JWS</title>
    <updated>2026-10-03T18:57:10.241638+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: azure-cli</p>
<p>&gt; [!NOTE]
&gt; Practical impact depends on whether request body-size limits are enforced upstream (proxy/web-server/framework). Deployments with typical body-size caps (≤2 MB) bound the amplifier significantly; deployments accepting larger token inputs are more exposed.</p>
<p>When verifying detached JWS tokens using the unencoded-payload option (`"b64": false`, RFC 7797), PyJWT performs **Base64URL decoding of the compact-serialization payload segment** *before* enforcing the detached-payload rules.</p>
<p>For `b64=false`, PyJWT later **discards** that decoded payload and replaces it with the caller-provided `detached_payload`. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces **CPU work + memory allocations** even if the signature is invalid.</p>
<p>This creates an **unauthenticated DoS** vector against any endpoint that verifies detached JWS using PyJWT.</p>
<p>---</p>
<p>## Affected Component(s)</p>
<p>* `jwt/api_jws.py`</p>
<p>* `PyJWS.decode()` / `PyJWS.decode_complete()`
  * `_load()` (parsing and Base64URL decoding)</p>
<p>---</p>
<p>## Root Cause (exact logic flaw)</p>
<p>### What happens in the code</p>
<p>In `jwt/api_jws.py`, `decode_complete()` does the following (order matters):</p>
<p>* Calls `_load(jwt)` first, which decodes the token segments
* Only after that, checks `header.get("b64")` and if `False`, it replaces `payload = detached_payload` and rebuilds the signing input</p>
<p>This behavior is visible in `deco…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/brew-azure-cli-cve-2026-48525"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/certfr-2026-avi-0933</id>
    <title>certfr-2026-avi-0933 — De multiples vulnérabilités ont été découvertes dans les produits IBM. Certaines d'entre elles permettent à un attaquan…</title>
    <updated>2026-10-03T18:57:10.241732+00:00</updated>
    <content>certfr-2026-avi-0933</content>
    <link href="https://cve.radiocsirt.org/vuln/certfr-2026-avi-0933"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cleanstart-2026-af67526</id>
    <title>Withdrawn: CLEANSTART-2026-AF67526 — Security fixes for CVE-2026-42304, CVE-2026-44307, CVE-2026-48522, CVE-2026-48523, CVE-2026-48524, CVE-2026-48525, CVE-…</title>
    <updated>2026-10-03T18:57:10.241751+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Withdrawn by the publisher.</strong></p>
<p><strong>Affected:</strong> CleanStart: jupyterhub-k8s-hub</p>
<p>Multiple security vulnerabilities affect the jupyterhub-k8s-hub package. These issues are resolved in later releases. See references for individual vulnerability details.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cleanstart-2026-af67526"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-329304</id>
    <title>EUVD-2026-329304</title>
    <updated>2026-10-03T18:57:10.241772+00:00</updated>
    <content>EUVD-2026-329304</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-329304"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-48525</id>
    <title>fkie_cve-2026-48525</title>
    <updated>2026-10-03T18:57:10.241783+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>PyJWT is a JSON Web Token implementation in Python. From 2.8.0 to 2.12.1, when verifying detached JWS tokens using the unencoded-payload option ("b64": false, RFC 7797), PyJWT performs Base64URL decoding of the compact-serialization payload segment before enforcing the detached-payload rules. For b64=false, PyJWT later discards that decoded payload and replaces it with the caller-provided detached_payload. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces CPU work + memory allocations even if the signature is invalid. This creates an unauthenticated DoS vector against any endpoint that verifies detached JWS using PyJWT. This vulnerability is fixed in 2.13.0.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-48525"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-w7vc-732c-9m39</id>
    <title>GHSA-w7vc-732c-9m39 — PyJWT: Unauthenticated DoS via unbounded Base64URL decoding of unused payload segment in b64=false detached JWS</title>
    <updated>2026-10-03T18:57:10.241810+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pyjwt</p>
<p>&gt; [!NOTE]
&gt; Practical impact depends on whether request body-size limits are enforced upstream (proxy/web-server/framework). Deployments with typical body-size caps (≤2 MB) bound the amplifier significantly; deployments accepting larger token inputs are more exposed.</p>
<p>When verifying detached JWS tokens using the unencoded-payload option (`"b64": false`, RFC 7797), PyJWT performs **Base64URL decoding of the compact-serialization payload segment** *before* enforcing the detached-payload rules.</p>
<p>For `b64=false`, PyJWT later **discards** that decoded payload and replaces it with the caller-provided `detached_payload`. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces **CPU work + memory allocations** even if the signature is invalid.</p>
<p>This creates an **unauthenticated DoS** vector against any endpoint that verifies detached JWS using PyJWT.</p>
<p>---</p>
<p>## Affected Component(s)</p>
<p>* `jwt/api_jws.py`</p>
<p>* `PyJWS.decode()` / `PyJWS.decode_complete()`
  * `_load()` (parsing and Base64URL decoding)</p>
<p>---</p>
<p>## Root Cause (exact logic flaw)</p>
<p>### What happens in the code</p>
<p>In `jwt/api_jws.py`, `decode_complete()` does the following (order matters):</p>
<p>* Calls `_load(jwt)` first, which decodes the token segments
* Only after that, checks `header.get("b64")` and if `False`, it replaces `payload = detached_payload` and rebuilds the signing input</p>
<p>This behavior is visible in `deco…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-w7vc-732c-9m39"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/msrc_cve-2026-48525</id>
    <title>msrc_CVE-2026-48525 — PyJWT: Unauthenticated DoS via unbounded Base64URL decoding of unused payload segment in b64=false detached JWS</title>
    <updated>2026-10-03T18:57:10.241892+00:00</updated>
    <content>msrc_CVE-2026-48525</content>
    <link href="https://cve.radiocsirt.org/vuln/msrc_cve-2026-48525"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/opensuse-su-2026:11024-1</id>
    <title>openSUSE-SU-2026:11024-1 — python311-PyJWT-2.13.0-1.1 on GA media</title>
    <updated>2026-10-03T18:57:10.241908+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>python311-PyJWT-2.13.0-1.1 on GA media</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/opensuse-su-2026:11024-1"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-178</id>
    <title>PYSEC-2026-178</title>
    <updated>2026-10-03T18:57:10.241923+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pyjwt</p>
<p>PyJWT is a JSON Web Token implementation in Python. From 2.8.0 to 2.12.1, when verifying detached JWS tokens using the unencoded-payload option ("b64": false, RFC 7797), PyJWT performs Base64URL decoding of the compact-serialization payload segment before enforcing the detached-payload rules. For b64=false, PyJWT later discards that decoded payload and replaces it with the caller-provided detached_payload. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces CPU work + memory allocations even if the signature is invalid. This creates an unauthenticated DoS vector against any endpoint that verifies detached JWS using PyJWT. This vulnerability is fixed in 2.13.0.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-178"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/suse-su-2026:22138-1</id>
    <title>SUSE-SU-2026:22138-1 — Security update for python-PyJWT</title>
    <updated>2026-10-03T18:57:10.241947+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Security update for python-PyJWT</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/suse-su-2026:22138-1"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-48525</id>
    <title>UBUNTU-CVE-2026-48525</title>
    <updated>2026-10-03T18:57:10.241962+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:24.04:LTS: pyjwt, Ubuntu:25.10: pyjwt, Ubuntu:26.04:LTS: pyjwt</p>
<p>PyJWT is a JSON Web Token implementation in Python. From 2.8.0 to 2.12.1, when verifying detached JWS tokens using the unencoded-payload option ("b64": false, RFC 7797), PyJWT performs Base64URL decoding of the compact-serialization payload segment before enforcing the detached-payload rules. For b64=false, PyJWT later discards that decoded payload and replaces it with the caller-provided detached_payload. In practice, this turns the middle segment into an attacker-controlled “work amplifier”: a remote client can supply an arbitrarily large Base64URL payload segment that forces CPU work + memory allocations even if the signature is invalid. This creates an unauthenticated DoS vector against any endpoint that verifies detached JWS using PyJWT. This vulnerability is fixed in 2.13.0.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ubuntu-cve-2026-48525"/>
  </entry>
</feed>
