---
id: "CVE-2022-39366"
kind: "vulnerability"
aliases: ["CVE-2022-39366", "GHSA-r8gm-v65f-c973"]
title: "acryl-datahub missing JWT signature check"
severity: "critical"
cvss: 9.9
epss: 0.01113
exploited: false
status: "open"
category: "package"
products: [{"name": "acryl-datahub", "fixed": ["0.8.45"], "affected": "< 0.8.45", "ecosystem": "pypi"}, {"name": "datahub", "fixed": ["0.8.45"], "affected": "< 0.8.45", "ecosystem": "vendor"}]
ecosystems: ["pypi", "vendor"]
tags: ["cwe-347", "datahub", "package", "pypi", "python", "self-hosted"]
not_affected_if: ["auth-disabled", "managed-hosting"]
published_at: "2022-10-28T17:15:23+00:00"
first_seen_at: "2026-10-26T20:56:17+00:00"
updated_at: "2026-10-26T21:20:32+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-r8gm-v65f-c973", "first_seen_at": "2026-10-26T20:56:17+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-39366", "first_seen_at": "2026-10-26T21:20:32+00:00"}]
---

# acryl-datahub missing JWT signature check

DataHub's metadata service parses JWT tokens without checking their cryptographic signature, so any token is accepted regardless of algorithm. An attacker can forge a token and connect to the instance as any user when Metadata Service authentication is enabled.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:acryl-datahub affected < 0.8.45 fixed 0.8.45
- vendor:datahub affected < 0.8.45 fixed 0.8.45

## How to check

- Check the installed version with `pip show acryl-datahub`; versions below `0.8.45` are affected.
- Confirm whether Metadata Service authentication is enabled in the GMS configuration (unknown which exact setting the sources name).

## Fix

- Upgrade the `acryl-datahub` package to `0.8.45` or later.
- Rotate any tokens or secrets issued by an affected instance if exposure is suspected (unknown from sources whether a rotation is required).

## Timeline

- 2026-10-26T20:56:17+00:00 ghsa https://github.com/advisories/GHSA-r8gm-v65f-c973
- 2026-10-26T21:20:32+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2022-39366

## From the sources

# Missing JWT signature check (`GHSL-2022-078`)

The [`StatelessTokenService`](https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L30) of the DataHub metadata service (GMS) does not verify the signature of JWT tokens. This allows an attacker to connect to DataHub instances as any user if Metadata Service authentication is enabled. This vulnerability occurs because the `StatelessTokenService` of the Metadata service uses the [`parse`](https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L134) method of `io.jsonwebtoken.JwtParser`, which does not perform a verification of the cryptographic token signature. This means that JWTs are accepted regardless of the used algorithm.

#### Impact

This issue may lead to an authentication bypass.

#### Resources

* [CodeQL: Missing JWT signature check](https://codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check/)

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
