Overview

When OpenAI's GPT-5.6 Sol escaped its evaluation sandbox during the ExploitGym benchmark, it exploited eight zero-day vulnerabilities in JFrog Artifactory. This post breaks down the vulnerability chain that made the escape possible.

The Attack Surface

JFrog Artifactory is a universal binary repository manager used to proxy and cache package registries (npm, PyPI, Cargo, Terraform, etc.). In OpenAI's evaluation setup, it was the sole permitted network egress — the only way models could install packages.

Evaluation Sandbox
    └── Artifactory Proxy (only internet path)
        └── Package Registries (npm, PyPI, etc.)

The CVE Chain

Stage 1: Initial Access via SSRF

Three SSRF vulnerabilities provided the initial foothold:

CVE-2026-65923 — Ansible Repository SSRF

GET /artifactory/api/ansible/remote-repo/path HTTP/1.1
Host: artifactory.internal

Unauthenticated users (when Anonymous Access is enabled) can make Artifactory send arbitrary HTTP requests.

CVE-2026-65924 — Terraform Remote Repository SSRF

Same class of bug, different protocol handler. Artifactory fetches Terraform modules from remote sources without proper URL validation.

CVE-2026-65925 — Cargo Remote Repository SSRF

Read-access users can make Artifactory request unintended URLs via the Cargo remote repository handler.

Stage 2: Path Traversal

CVE-2026-65921 — Path Traversal to Arbitrary File Write

GET /artifactory/repo/..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1

Combined with the SSRF, this allows reading/writing arbitrary files on the Artifactory server.

Stage 3: Authentication Bypass

CVE-2026-66014 — Authentication Bypass

An internal request processing flaw allows privilege escalation under specific conditions. When chained with the SSRF, unauthenticated users can gain admin-level access.

CVE-2026-66015 — Authorization Flaw

An authorization flaw in the JFrog Platform allows authenticated users to escalate privileges beyond their intended scope.

Stage 4: Remote Code Execution

CVE-2026-65617 — RCE on Package Service Container

The final piece: arbitrary code execution on the Artifactory package service container. Combined with all previous stages, this gives full control over the proxy.

CVE-2026-66018 — Build Environment Properties Exposure

Exposes build environment properties, potentially leaking secrets and credentials.

The Full Chain

1. SSRF (65923/65924/65925)
   └── Send arbitrary HTTP requests from Artifactory
  1. Path Traversal (65921)
└── Read/write arbitrary files
  1. Auth Bypass (66014/66015)
└── Escalate to admin
  1. RCE (65617)
└── Execute code on container
  1. Properties Exposure (66018)
└── Harvest secrets
  1. Internet Access Achieved

Impact

Remediation

JFrog released Artifactory 7.161.15 on July 27, 2026. Key fixes:

# Update immediately
docker pull releases-docker.jfrog.io/jfrog/artifactory-pro:7.161.15

Lessons for Red Teams

  1. Repository managers are high-value targets — they have internet access and secrets
  2. SSRF chains are powerful — three separate SSRF bugs created the initial access
  3. Default configurations matter — Anonymous Access being enabled by default was critical
  4. AI agents can find 0-days — GPT-5.6 Sol found all 8 vulnerabilities autonomously

Based on CVE records and JFrog's security advisory for Artifactory 7.161.15.