Skip to content

Product1 publisher3 min readPublished

Nearly half of scanned Artifactory servers still ran unpatched two weeks after JFrog's fix

Wiz reports multiple threat actors independently exploiting three patched JFrog Artifactory flaws, and its telemetry puts 49% to 62% of scanned instances still missing the fixes weeks after release. Two of the three chain into admin.

The Product Desk · Product desk

Illustration accompanying Nearly half of scanned Artifactory servers still ran unpatched two weeks after JFrog's fix

What happened

  • Wiz published research describing active exploitation of three JFrog Artifactory vulnerabilities, all of which already had patches available when the exploitation was observed.
  • The most serious, CVE-2026-82329, lets an unauthenticated attacker with network access reach the repository and obtain administrative privileges, and JFrog shipped its fix on August 28.
  • On compromised servers Wiz found custom Rust-based backdoors installed for persistence, Groovy plugins used to execute arbitrary code, and web shells left behind for remote access.

Compiled by The Product DeskSomething wrong?How this is made

Why it matters

  • decision The ordering rule in the patch queue is the thing that failed here: a team that ranks by network reachability keeps the repository behind the public web app, and owns that ordering the week a build gets poisoned.
  • exposure According to Ashley, every build that pulls from a compromised repository inherits the result. The people at risk are downstream of the pipeline.
  • constraint Because the escalation ran through token-scope validation, remediation includes working out which administrative tokens exist and what they can reach. That inventory is a separate job from the upgrade.
  • precedent With several actors on the same bypass at once, leaving a repository-manager advisory for the next maintenance window is now a bet against active scanning, and the next such advisory will be read that way.

Wiz measured each bug at a different interval after its own patch date, and those intervals land in the same week. Six weeks after the July 27 fix for CVE-2026-42016 is September 7. A month after the August 12 fix for CVE-2026-42018 is September 12. Two weeks after the August 28 fix for the critical bypass is September 11 [20]. The three percentages describe roughly the same population at roughly the same moment: 59% of scanned instances still carrying the escalation bug [11], 62% still missing the anonymous-token fix [12], 49% still exploitable through the bypass [13].

The oldest patch has the worst record. The escalation fix had been available six weeks and was absent from 59% of instances; the bypass fix had been out two weeks and was absent from 49%, ten points fewer [21]. Extra time did not close the gap, and the bug labelled critical got attention the older one did not. "Patching velocity has been slow," Wiz wrote in its research [14]. Mitch Ashley, vice president and practice lead for CIO & Technology Buyers and Software Lifecycle Engineering at The Futurum Group [15], put the ordering problem this way: "Patch urgency still prioritizes internet exposures versus downstream dependence, which is why a repository manager can sit unpatched for weeks while a public web app gets fixed in hours or days," he said [16]. The telemetry establishes the gap without establishing its cause, and Ashley's is the explanation on the record [23].

Both halves of the chain are token problems. CVE-2026-42018 returns internal anonymous-user tokens to callers even when anonymous access is disabled [5]. CVE-2026-42016 fails to validate token scope, so an already-authenticated low-privilege user can climb to permissions nobody granted [7]. JFrog's two fixes landed 16 days apart [22], and Wiz says attackers are combining them to go from a foothold to full administrative control of the instance [9]. The upgrade fixes the scope check. Two jobs remain after it: work out which tokens were minted during the exposure window, and find what persistence is already resident. Wiz found custom Rust-based backdoors, Groovy plugins used to run arbitrary code on the server, and web shells left for remote access [10].

For a platform team deciding where the repository sits in the queue, the more useful test than a severity score is a count. If every artifact you shipped in the last 30 days passed through this server, it belongs on the customer-facing clock even though no customer can route to it. The cost of that policy is real: an emergency upgrade to the one host every pipeline reads from stops every build at once. What you accept by waiting is that several actors were already exploiting the bypass independently [4], and that the pattern is not specific to JFrog, since repositories, registries and build servers keep getting targeted for sitting upstream of so much else [19].

"Build infrastructure deserves the same patch clock as anything customer-facing. Security teams should be asking today who holds administrative tokens on their repository and what those tokens can reach," Ashley said [18].

What to watch

  • A second Wiz telemetry snapshot showing whether the 49% unpatched figure for the critical bypass moved after the exploitation report.
  • Guidance from JFrog on revoking administrative tokens issued during the exposure window, and on detecting Groovy-plugin persistence.
  • A named downstream product traced back to a package served by a compromised Artifactory instance.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories