<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Oct 2026 03:24:50 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-59420 — Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-59420</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; authlib&lt;/p&gt;
&lt;p&gt;Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.4, Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (crit), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, bork or cnf) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation. This issue has been patched in version 1.6.4.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; authlib&lt;/p&gt;
&lt;p&gt;Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to version 1.6.4, Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (crit), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, bork or cnf) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation. This issue has been patched in version 1.6.4.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-59420</guid>
    </item>
    <item>
      <title>GHSA-9ggr-2464-2j32 — Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-9ggr-2464-2j32</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: authlib&lt;/p&gt;
&lt;p&gt;## Summary
Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (`crit`), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, `bork` or `cnf`) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation.&lt;/p&gt;
&lt;p&gt;## Affected Component and Versions
- Library: Authlib (JWS verification)
- API: `authlib.jose.JsonWebSignature.deserialize_compact(...)`
- Version tested: 1.6.3
- Configuration: Default; no allowlist or special handling for `crit`&lt;/p&gt;
&lt;p&gt;## Details
RFC 7515 (JWS) §4.1.11 defines `crit` as a “must‑understand” list: recipients MUST understand and enforce every header parameter listed in `crit`, otherwise they MUST reject the token. Security‑sensitive semantics such as token binding (e.g., `cnf` from RFC 7800) are often conveyed via `crit`.&lt;/p&gt;
&lt;p&gt;Observed behavior with Authlib 1.6.3:
- When a compact JWS contains a protected header with `crit: [&amp;#34;cnf&amp;#34;]` and a `cnf` object, or `crit: [&amp;#34;bork&amp;#34;]` with an unknown parameter, Authlib verifies the signature and returns the payload without rejecting the token or enforcing semantics of the critical parameter.
- By contrast, Java Nimbus JOSE+JWT (9.37.x) and Node `jose` v5 both reject such tokens by default when `crit` lists unknown names.&lt;/p&gt;
&lt;p&gt;Impact in heterogeneous fleets:
- A strict ingress/gateway (Nimbus/Node) rejects a token,…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: authlib&lt;/p&gt;
&lt;p&gt;## Summary
Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (`crit`), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, `bork` or `cnf`) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation.&lt;/p&gt;
&lt;p&gt;## Affected Component and Versions
- Library: Authlib (JWS verification)
- API: `authlib.jose.JsonWebSignature.deserialize_compact(...)`
- Version tested: 1.6.3
- Configuration: Default; no allowlist or special handling for `crit`&lt;/p&gt;
&lt;p&gt;## Details
RFC 7515 (JWS) §4.1.11 defines `crit` as a “must‑understand” list: recipients MUST understand and enforce every header parameter listed in `crit`, otherwise they MUST reject the token. Security‑sensitive semantics such as token binding (e.g., `cnf` from RFC 7800) are often conveyed via `crit`.&lt;/p&gt;
&lt;p&gt;Observed behavior with Authlib 1.6.3:
- When a compact JWS contains a protected header with `crit: [&amp;#34;cnf&amp;#34;]` and a `cnf` object, or `crit: [&amp;#34;bork&amp;#34;]` with an unknown parameter, Authlib verifies the signature and returns the payload without rejecting the token or enforcing semantics of the critical parameter.
- By contrast, Java Nimbus JOSE+JWT (9.37.x) and Node `jose` v5 both reject such tokens by default when `crit` lists unknown names.&lt;/p&gt;
&lt;p&gt;Impact in heterogeneous fleets:
- A strict ingress/gateway (Nimbus/Node) rejects a token,…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-9ggr-2464-2j32</guid>
    </item>
    <item>
      <title>PYSEC-2026-1200 — Authlib: JWS/JWT accepts unknown crit headers (RFC violation → possible authz bypass)</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-1200</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: authlib&lt;/p&gt;
&lt;p&gt;## Summary
Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (`crit`), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, `bork` or `cnf`) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation.&lt;/p&gt;
&lt;p&gt;## Affected Component and Versions
- Library: Authlib (JWS verification)
- API: `authlib.jose.JsonWebSignature.deserialize_compact(...)`
- Version tested: 1.6.3
- Configuration: Default; no allowlist or special handling for `crit`&lt;/p&gt;
&lt;p&gt;## Details
RFC 7515 (JWS) §4.1.11 defines `crit` as a “must‑understand” list: recipients MUST understand and enforce every header parameter listed in `crit`, otherwise they MUST reject the token. Security‑sensitive semantics such as token binding (e.g., `cnf` from RFC 7800) are often conveyed via `crit`.&lt;/p&gt;
&lt;p&gt;Observed behavior with Authlib 1.6.3:
- When a compact JWS contains a protected header with `crit: [&amp;#34;cnf&amp;#34;]` and a `cnf` object, or `crit: [&amp;#34;bork&amp;#34;]` with an unknown parameter, Authlib verifies the signature and returns the payload without rejecting the token or enforcing semantics of the critical parameter.
- By contrast, Java Nimbus JOSE+JWT (9.37.x) and Node `jose` v5 both reject such tokens by default when `crit` lists unknown names.&lt;/p&gt;
&lt;p&gt;Impact in heterogeneous fleets:
- A strict ingress/gateway (Nimbus/Node) rejects a token,…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: authlib&lt;/p&gt;
&lt;p&gt;## Summary
Authlib’s JWS verification accepts tokens that declare unknown critical header parameters (`crit`), violating RFC 7515 “must‑understand” semantics. An attacker can craft a signed token with a critical header (for example, `bork` or `cnf`) that strict verifiers reject but Authlib accepts. In mixed‑language fleets, this enables split‑brain verification and can lead to policy bypass, replay, or privilege escalation.&lt;/p&gt;
&lt;p&gt;## Affected Component and Versions
- Library: Authlib (JWS verification)
- API: `authlib.jose.JsonWebSignature.deserialize_compact(...)`
- Version tested: 1.6.3
- Configuration: Default; no allowlist or special handling for `crit`&lt;/p&gt;
&lt;p&gt;## Details
RFC 7515 (JWS) §4.1.11 defines `crit` as a “must‑understand” list: recipients MUST understand and enforce every header parameter listed in `crit`, otherwise they MUST reject the token. Security‑sensitive semantics such as token binding (e.g., `cnf` from RFC 7800) are often conveyed via `crit`.&lt;/p&gt;
&lt;p&gt;Observed behavior with Authlib 1.6.3:
- When a compact JWS contains a protected header with `crit: [&amp;#34;cnf&amp;#34;]` and a `cnf` object, or `crit: [&amp;#34;bork&amp;#34;]` with an unknown parameter, Authlib verifies the signature and returns the payload without rejecting the token or enforcing semantics of the critical parameter.
- By contrast, Java Nimbus JOSE+JWT (9.37.x) and Node `jose` v5 both reject such tokens by default when `crit` lists unknown names.&lt;/p&gt;
&lt;p&gt;Impact in heterogeneous fleets:
- A strict ingress/gateway (Nimbus/Node) rejects a token,…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-1200</guid>
    </item>
  </channel>
</rss>
