Back to blog
CVEDevOpsSupply chain

JFrog Artifactory CVE-2026-82329: a JWT signed with an empty key grants admin rights

Published on 2026-09-086 min readCleanIssue

> In short: CVE-2026-82329 (CVSS 9.8) is an authentication flaw in JFrog Artifactory, the binary repository management platform used by many DevOps teams to host packages, Docker images, and build artifacts. On unhardened self-hosted instances, if no cluster join key is configured, the authentication service (JFrog Access) treats an empty string as a valid trusted key. An attacker can forge a JWT signed with this predictable key and exchange it for a full administrator access token — with no prior authentication whatsoever. The flaw is being actively exploited; JFrog has released fixed versions across all maintained branches.

The exploitation mechanism, step by step

The root cause fits in one line: the default configuration treats an empty cluster join key as a trusted key. From there, the attack unfolds as follows:

  • Compute the SHA256 hash of the empty string to use as the key identifier (kid) in the JWT header.
  • Craft a JWT signed with HS256 using the predictable secret corresponding to that empty key.
  • Send this token to Artifactory's cluster-join API endpoint (/access/api/v1/registry/join).
  • Artifactory accepts the token and issues back a full platform administrator access token.
  • No secret data is required: the computation is entirely deterministic and reproducible by anyone who knows the mechanism. Only network access to the vulnerable instance is needed, with no credentials or user interaction.

    A direct software supply-chain poisoning risk

    With full admin access, an attacker controls the platform's repositories, users, and configuration — opening the door to direct software supply-chain poisoning: replacing a legitimate package or Docker image with a compromised version, then automatically distributed to every system that trustingly consumes that repository. It's the same pattern that made npm and PyPI repository compromises infamous, applied here directly to the enterprise infrastructure hosting internal artifacts.

    What teams running Artifactory should do

  • Update immediately to one of the fixed versions (7.111.21+, 7.117.28+, 7.125.20+, 7.133.29+, 7.146.38+, or 7.161.20+ depending on your branch).
  • Don't stop at patching: the update doesn't revoke tokens already issued. You must manually identify and invalidate any suspicious token, then perform a full rotation of sensitive credentials.
  • Audit logs for unexpected calls to /access/api/v1/registry/join from unauthorized or external sources, as well as any abnormal token generation.
  • Restrict network access to the Artifactory instance via access control lists, especially if the instance is exposed beyond the internal network.
  • The lesson for DevOps teams and SaaS platforms

    This flaw illustrates a classic trap in distributed systems: a default value meant to simplify deployment ("if no key is configured, don't block the cluster") becomes a universal backdoor if it's never hardened in production. For any build or dependency-management platform even partially exposed to the network, the default configuration should never be assumed safe without an explicit audit of inter-service authentication mechanisms.

    Building HR, payroll, or recruiting software? CleanIssue performs security audits for HR SaaS in real-world conditions, no source code access needed. For a first read of your exposure, start with an external review of your application.

    Need an external review of your HR SaaS?

    Share your product, stack, and client context. We will come back with the right review scope.

    Discuss your audit