{"schema":"threatline.record/2","record":{"id":"CVE-2022-39366","aliases":["GHSA-r8gm-v65f-c973","PYSEC-2026-252"],"summary":"acryl-datahub missing JWT signature check","details":"# Missing JWT signature check (`GHSL-2022-078`)\n\nThe [`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.\n\n#### Impact\n\nThis issue may lead to an authentication bypass.\n\n#### Resources\n\n* [CodeQL: Missing JWT signature check](https://codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check/)","categories":["Libraries & packages"],"product":"acryl-datahub","vendor":"datahub-project","ecosystem":"pip","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-r8gm-v65f-c973","source_modified_at":"2026-10-26T20:54:10Z","fetched_at":"2026-10-26T23:45:56.352924Z","package":{"ecosystem":"pip","name":"acryl-datahub"},"range":"< 0.8.45"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2022-39366","source_modified_at":"2025-04-22T17:16:53.250Z","fetched_at":"2026-10-26T23:45:56.352924Z","product":"datahub","vendor":"datahub-project","versions":[{"version":"< 0.8.45","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-r8gm-v65f-c973","source_modified_at":"2026-10-26T21:15:03.724921121Z","fetched_at":"2026-10-26T23:45:56.352924Z","package":{"name":"acryl-datahub","ecosystem":"PyPI","purl":"pkg:pypi/acryl-datahub"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.45"}]}],"versions":["0.0.2","0.0.3","0.0.4","0.0.5","0.1.0","0.1.1","0.1.2","0.1.3","0.2.0","0.2.1","0.2.2","0.2.3","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.4.0","0.8.1.0","0.8.1.1","0.8.1.2","0.8.10.0","0.8.10.1","0.8.10.2","0.8.11.0","0.8.11.1","0.8.12.0","0.8.13.0","0.8.13.1","0.8.14.0","0.8.14.1","0.8.14.2","0.8.15.0","0.8.15.1","0.8.15.10","0.8.15.2","0.8.15.3","0.8.15.4","0.8.15.5","0.8.15.6","0.8.15.7","0.8.15.8","0.8.15.9","0.8.16.0","0.8.16.1","0.8.16.11","0.8.16.12","0.8.16.2","0.8.16.3","0.8.16.4"]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-r8gm-v65f-c973","source_modified_at":"2026-10-26T20:54:10Z","fetched_at":"2026-10-26T23:45:56.352924Z","package":{"ecosystem":"pip","name":"acryl-datahub"},"version":"0.8.45"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-r8gm-v65f-c973","source_modified_at":"2026-10-26T21:15:03.724921121Z","fetched_at":"2026-10-26T23:45:56.352924Z","package":{"name":"acryl-datahub","ecosystem":"PyPI","purl":"pkg:pypi/acryl-datahub"},"version":"0.8.45"}],"cvss":9.9,"severity":"Critical","kev":{"listed":false},"epss":{"probability":0.01113,"percentile":0.65771,"score_date":"2026-10-26"},"published_at":"2022-10-28T00:00:00.000Z","modified_at":"2026-10-26T21:15:03.724921121Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-r8gm-v65f-c973","fetched_at":"2026-10-26T23:45:56.352924Z","source_modified_at":"2026-10-26T20:54:10Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2022-39366","fetched_at":"2026-10-26T23:45:56.352924Z","source_modified_at":"2025-04-22T17:16:53.250Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-r8gm-v65f-c973","fetched_at":"2026-10-26T23:45:56.352924Z","source_modified_at":"2026-10-26T21:15:03.724921121Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2022-39366","fetched_at":"2026-10-26T23:45:56.352924Z","source_modified_at":"2026-10-26"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/datahub-project/datahub/security/advisories/GHSA-r8gm-v65f-c973","tags":["x_transferred"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-39366","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L134","tags":["x_transferred"]},{"source":"CVE List","url":"https://github.com/datahub-project/datahub/blob/aa146db611e3a4ca3aa17bb740783f789d4444d3/metadata-service/auth-impl/src/main/java/com/datahub/authentication/token/StatelessTokenService.java#L30","tags":["x_transferred"]},{"source":"CVE List","url":"https://github.com/datahub-project/datahub/releases/tag/v0.8.45","tags":["x_transferred"]},{"url":"https://codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check","source":"GitHub Advisory Database"},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/acryl-datahub/PYSEC-2026-252.yaml","source":"GitHub Advisory Database"},{"url":"https://pypi.org/project/acryl-datahub","source":"GitHub Advisory Database"},{"url":"https://github.com/advisories/GHSA-r8gm-v65f-c973","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://codeql.github.com/codeql-query-help/java/java-missing-jwt-signature-check/","tags":["x_transferred"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"poc","automatable":"yes","technical_impact":"partial","assessed_at":"2025-04-22T15:39:26.505517Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-26T21:15:03.724921121Z","content_hash":"2095fe80c0ea9f257b384dbdefa16b1ac69e08b238a914cb56c58e3e8daef4af"}}
