---
id: CVE-2022-39366
aliases:
  - GHSA-r8gm-v65f-c973
  - PYSEC-2026-252
title: acryl-datahub missing JWT signature check
summary: acryl-datahub missing JWT signature check
severity: critical
cvss: 9.9
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:L'
vendor: acryl-datahub
product: acryl-datahub
ecosystem: pip
affected:
  - acryl-datahub < 0.8.45
patched:
  - acryl-datahub 0.8.45
published: '2022-10-31'
updated: '2026-10-26'
sourceUpdated: '2026-10-26T21:15:03.724921121Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-r8gm-v65f-c973'
references:
  - url: >-
      https://github.com/datahub-project/datahub/security/advisories/GHSA-r8gm-v65f-c973
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2022-39366'
  - url: >-
      https://codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check
  - url: 'https://github.com/datahub-project/datahub'
  - url: >-
      https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L134
  - url: >-
      https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L30
  - url: 'https://github.com/datahub-project/datahub/releases/tag/v0.8.45'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/acryl-datahub/PYSEC-2026-252.yaml
  - url: 'https://pypi.org/project/acryl-datahub'
  - url: 'https://github.com/advisories/GHSA-r8gm-v65f-c973'
tags:
  - osv
  - pip
  - ghsa
epss: 0.01113
epssPercentile: 0.65826
cwe:
  - CWE-347
ingestedAt: '2026-10-27T16:11:58.786Z'
---

## Overview

# 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/)

## Affected packages

- `acryl-datahub < 0.8.45`

## Remediation

Upgrade to a patched release:

- `acryl-datahub 0.8.45`
