Skip to main content
CybersecurityVulnerability Management

JFrog Artifactory Flaws Expose Software Supply Chain to Manipulation

Software development interface on a laptop screen showing a package repository manager.

Oligo Security reported the flaws to JFrog on June 25 and detailed them in research published on August 20, describing two weaknesses that let low‑privileged or anonymous users manipulate package metadata without touching the underlying artifacts.

What Oligo reported and JFrog’s immediate response

Oligo’s disclosure covers two tracked vulnerabilities, CVE-2026-69106 (CVSS 8.8) and CVE-2026-65922 (CVSS 5.4). Both are listed on the National Vulnerability Database and, according to the published advisory, JFrog has issued fixes. The attack surface described does not require modification of stored artifacts; instead, it exploits metadata generation and trusted internal paths to create a potential route to software supply chain compromise.

CVE-2026-69106: header trust and shared cache poisoning

CVE-2026-69106 arises from Artifactory accepting the X-Orig-Client-Uri header from external clients without verifying that the header actually originated from trusted routing infrastructure. Oligo showed how virtual repositories could transform that header into a cross-user cache poisoning condition.

In Helm specifically, Artifactory wrote the full attacker‑controlled URL into generated metadata while using only a 32‑bit Java hash to choose the cache location. That mismatch lets an attacker craft a different URL with the same 32‑bit hash; the result is that a poisoned index can be stored at the hashed cache location and later served to other users. The report notes npm’s behavior differed: npm had a separate cache guard but it inspected two other override headers and not X-Orig-Client-Uri, leaving that header as a blind spot.

Oligo also identified a related weakness in JFrog’s recommended nginx configuration: X-Forwarded-Proto could be manipulated to influence generated absolute URLs when a caching reverse proxy was deployed, further expanding the avenues through which routing headers can affect metadata generation.

CVE-2026-65922: trusted .jfrog/ metadata paths bypass normal controls

CVE-2026-65922 targets Artifactory’s handling of internal .jfrog/ metadata paths. Oligo found that the REST COPY and MOVE APIs and the WebDAV MKCOL operation could reach these .jfrog/ paths without the protections applied to standard uploads. The server’s authorization path treated .jfrog/ as trusted, meaning an authenticated user with suitable repository access could place or create content there.

That is consequential because package handlers consume files in .jfrog/ for sensitive functions. As Oligo put it, “these files are consumed by package handlers for functions including npm signing keys, OCI referrers, Docker indexes and Ansible indexes.” Allowing unauthorized writes into .jfrog/ therefore creates a channel by which metadata consumers can be influenced without altering artifacts themselves.

Effects on package handlers: Helm, npm, Docker, OCI, and Ansible

The two flaws map directly onto how package ecosystems rely on Artifactory-generated metadata and internal control files. In Helm, the vulnerability lets attacker‑controlled URLs be embedded into metadata while a weak hash determines cache placement. For npm, the presence of a separate cache guard mitigates some paths but omitted X-Orig-Client-Uri from its checks. For container and infrastructure packages, Oligo explicitly cites npm signing keys, OCI referrers, Docker indexes and Ansible indexes as consumers of .jfrog/ metadata — all mechanisms that can influence how clients discover, validate, or index packages.

What this means for security teams, enterprise IT, and reverse‑proxy operators

  • Security teams and enterprise IT: Oligo’s primary recommendation is to upgrade Artifactory to a patched release. They also advised disabling anonymous access where it is not required, particularly on shared or internet‑accessible repositories, and conducting a review of users and service accounts that have repository access.
  • Reverse‑proxy and routing operators: Oligo recommends stripping or overwriting client‑supplied X-Orig-Client-Uri and X-Forwarded-Proto headers at the routing boundary. The advisory also flags JFrog’s recommended nginx configuration as a vector that can be influenced by X-Forwarded-Proto when a caching reverse proxy is present.
  • Procurement and platform owners: because these issues affect metadata rather than artifacts, teams that trust package indexes or signing metadata should validate that their Artifactory deployments have been patched and that internal .jfrog/ paths are not writable by users who lack explicit need for that control.

Oligo’s disclosure frames a narrow but potent path to supply chain compromise: manipulating what package consumers read rather than what they fetch. With both vulnerabilities listed on the National Vulnerability Database and fixes available from JFrog, the immediate, concrete steps are known — apply patches, restrict anonymous access, audit repository permissions, and neutralize client‑supplied routing headers at the edge. The remaining question for operators is operational: how quickly will organizations apply those fixes and harden routing configurations so metadata paths cannot be turned into an attack surface?

Source: Infosecurity Magazine — JFrog Artifactory Flaws Enable Software Supply Chain Attacks