acryl-datahub missing JWT signature check
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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
Text from GitHub Advisory Database
Affected versions 53
- acryl-datahub, pip< 0.8.45GitHub
- datahubaffected: < 0.8.45CVE List
- acryl-datahub, PyPIfrom first release, fixed in 0.8.45OSV
- acryl-datahub, PyPI0.0.2OSV
- acryl-datahub, PyPI0.0.3OSV
- acryl-datahub, PyPI0.0.4OSV
- acryl-datahub, PyPI0.0.5OSV
- acryl-datahub, PyPI0.1.0OSV
- acryl-datahub, PyPI0.1.1OSV
- acryl-datahub, PyPI0.1.2OSV
- acryl-datahub, PyPI0.1.3OSV
- acryl-datahub, PyPI0.2.0OSV
- acryl-datahub, PyPI0.2.1OSV
- acryl-datahub, PyPI0.2.2OSV
- acryl-datahub, PyPI0.2.3OSV
- acryl-datahub, PyPI0.3.0OSV
- acryl-datahub, PyPI0.3.1OSV
- acryl-datahub, PyPI0.3.2OSV
- acryl-datahub, PyPI0.3.3OSV
- acryl-datahub, PyPI0.3.4OSV
- acryl-datahub, PyPI0.4.0OSV
- acryl-datahub, PyPI0.8.1.0OSV
- acryl-datahub, PyPI0.8.1.1OSV
- acryl-datahub, PyPI0.8.1.2OSV
- acryl-datahub, PyPI0.8.10.0OSV
- acryl-datahub, PyPI0.8.10.1OSV
- acryl-datahub, PyPI0.8.10.2OSV
- acryl-datahub, PyPI0.8.11.0OSV
- acryl-datahub, PyPI0.8.11.1OSV
- acryl-datahub, PyPI0.8.12.0OSV
- acryl-datahub, PyPI0.8.13.0OSV
- acryl-datahub, PyPI0.8.13.1OSV
- acryl-datahub, PyPI0.8.14.0OSV
- acryl-datahub, PyPI0.8.14.1OSV
- acryl-datahub, PyPI0.8.14.2OSV
- acryl-datahub, PyPI0.8.15.0OSV
- acryl-datahub, PyPI0.8.15.1OSV
- acryl-datahub, PyPI0.8.15.10OSV
- acryl-datahub, PyPI0.8.15.2OSV
- acryl-datahub, PyPI0.8.15.3OSV
- acryl-datahub, PyPI0.8.15.4OSV
- acryl-datahub, PyPI0.8.15.5OSV
- acryl-datahub, PyPI0.8.15.6OSV
- acryl-datahub, PyPI0.8.15.7OSV
- acryl-datahub, PyPI0.8.15.8OSV
- acryl-datahub, PyPI0.8.15.9OSV
- acryl-datahub, PyPI0.8.16.0OSV
- acryl-datahub, PyPI0.8.16.1OSV
- acryl-datahub, PyPI0.8.16.11OSV
- acryl-datahub, PyPI0.8.16.12OSV
- acryl-datahub, PyPI0.8.16.2OSV
- acryl-datahub, PyPI0.8.16.3OSV
- acryl-datahub, PyPI0.8.16.4OSV
References 10
- github.com/datahub-project/datahub/releases/tag/v0.8.45Fixvia CVE List
- github.com/datahub-project/datahub/security/advisories/GHSA-r8gm-v65f-c973Advisoryvia CVE List
- github.com/pypa/advisory-database/tree/main/vulns/acryl-datahub/PYSEC-2026-252.yamlAdvisoryvia GitHub
- github.com/advisories/GHSA-r8gm-v65f-c973Advisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2022-39366Referencevia GitHub
- github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L134Referencevia CVE List
- github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L30Referencevia CVE List
- codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-checkReferencevia GitHub
- pypi.org/project/acryl-datahubReferencevia GitHub
- codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check/Referencevia CVE List