Skip to content
Heist/ feed
Back to feed
CriticalFix available

libjwt3 — security advisory

Type: advisorySources: OSVAdvisory ID: DEBIAN-CVE-2026-44699

LibJWT is a C JSON Web Token Library. From 3.0.0 to 3.3.2, libjwt accepts an RSA JWK that does not contain an alg parameter as the verification key for an HS256/HS384/HS512 token. In the OpenSSL backend, this causes HMAC verification to run with a zero-length key, so an attacker can forge a valid JWT without knowing any secret or RSA private key. This is an algorithm-confusion authentication bypass. It affects applications that load RSA keys from JWKS where alg is omitted, which is valid JWK syntax and common in real deployments, and then choose the verification algorithm from the JWT header, for example in a kid lookup callback. This vulnerability is fixed in 3.3.3.

Products
libjwt3
Affected versions
3.2.2-1, 3.2.3-1, 3.3.2-1
Fixed versions
3.3.3-1
CVEs
CVE-2026-44699
Confirmed fixed CVEs
Not specified
Updated in this feed
1 Nov 2026, 17:48 UTC · Revision 2

Source evidence

DEBIAN-CVE-2026-44699

core-osv · Original source

Published 15 May 2026, 17:16 UTC

LibJWT is a C JSON Web Token Library. From 3.0.0 to 3.3.2, libjwt accepts an RSA JWK that does not contain an alg parameter as the verification key for an HS256/HS384/HS512 token. In the OpenSSL backend, this causes HMAC verification to run with a zero-length key, so an attacker can forge a valid JWT without knowing any secret or RSA private key. This is an algorithm-confusion authentication bypass. It affects applications that load RSA keys from JWKS where alg is omitted, which is valid JWK syntax and common in real deployments, and then choose the verification algorithm from the JWT header, for example in a kid lookup callback. This vulnerability is fixed in 3.3.3.

osv:DEBIAN-CVE-2026-44699

libjwt3

Fixed versions: 3.3.3-1

Complete source record
{
  "id": "ef1e95ca9ca97b3524abdffcff5c6dbc937403cdb41d8b137436852347d2cdf6",
  "url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-44699",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "DEBIAN-CVE-2026-44699",
    "summary": "LibJWT is a C JSON Web Token Library. From 3.0.0 to 3.3.2, libjwt accepts an RSA JWK that does not contain an alg parameter as the verification key for an HS256/HS384/HS512 token. In the OpenSSL backend, this causes HMAC verification to run with a zero-length key, so an attacker can forge a valid JWT without knowing any secret or RSA private key. This is an algorithm-confusion authentication bypass. It affects applications that load RSA keys from JWKS where alg is omitted, which is valid JWK syntax and common in real deployments, and then choose the verification algorithm from the JWT header, for example in a kid lookup callback. This vulnerability is fixed in 3.3.3.",
    "evidence": "osv:DEBIAN-CVE-2026-44699",
    "products": [
      {
        "name": {
          "value": "libjwt3",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "3.3.3-1",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": [
          {
            "value": "3.2.2-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "3.2.3-1",
            "evidence": "/affected/0/versions"
          },
          {
            "value": "3.3.2-1",
            "evidence": "/affected/0/versions"
          }
        ]
      }
    ],
    "severity": "critical",
    "structured": {
      "id": "DEBIAN-CVE-2026-44699",
      "aliases": [
        "DEBIAN-CVE-2026-44699"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "3.3.3-1"
                }
              ]
            }
          ],
          "package": {
            "name": "libjwt3",
            "purl": "pkg:deb/debian/libjwt3?arch=source&distro=forky",
            "ecosystem": "Debian:14"
          },
          "versions": [
            "3.2.2-1",
            "3.2.3-1",
            "3.3.2-1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-44699.json"
          },
          "ecosystem_specific": {
            "urgency": "not yet assigned"
          }
        }
      ],
      "modified": "2026-10-27T09:47:34.569975759Z",
      "provider": "osv",
      "upstream": [
        "CVE-2026-44699"
      ],
      "references": [
        "https://security-tracker.debian.org/tracker/CVE-2026-44699"
      ]
    },
    "related_cves": [
      {
        "value": "CVE-2026-44699",
        "evidence": "/upstream"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 461259,
  "published_at": "2026-05-15T17:16:47.783+00:00"
}