CVE-2026-42018 Splunk · SPL

Detect JFrog Artifactory Improper Authentication (CVE-2026-42018) in Splunk

Detects exploitation attempts against CVE-2026-42018, an improper authentication (CWE-287) vulnerability in JFrog Artifactory that allows attackers to bypass authentication controls and access protected repository resources, administrative endpoints, or artifacts without valid credentials. This CVE is listed in the CISA KEV catalog, indicating active in-the-wild exploitation. The detection surfaces anomalous authentication bypass patterns including access to privileged Artifactory REST API endpoints (/api/security, /api/system, admin repository operations) without corresponding successful authentication events, requests bearing forged or malformed authorization headers, and unauthenticated retrieval of protected artifacts.

MITRE ATT&CK

Tactic
Initial Access Privilege Escalation Credential Access

SPL Detection Query

Splunk (SPL)
spl
index=web (sourcetype="iis" OR sourcetype="artifactory:access" OR sourcetype="nginx:plus:kv")
(uri_path="*/api/security*" OR uri_path="*/api/system*" OR uri_path="*/access/api/v1/tokens*" OR uri_path="*/api/repositories*" OR uri_path="*/api/storage*")
status>=200 status<300
| eval hasAuth=if(isnull(authorization) OR authorization="" OR authorization="-", 0, 1)
| eval anonUser=if(isnull(user) OR user="" OR user="-" OR user="anonymous", 1, 0)
| where hasAuth=0 OR anonUser=1
| stats count AS hits values(uri_path) AS paths values(method) AS methods by src_ip, host
| where hits>=3
| sort - hits
critical severity medium confidence

Flags successful requests to privileged Artifactory REST endpoints lacking an authorization header or attributed to an anonymous/empty user, indicating potential authentication bypass.

Data Sources

IIS LogsArtifactory Access LogsNGINX Reverse Proxy Logs

Required Sourcetypes

iisartifactory:accessnginx:plus:kv

False Positives & Tuning

  • Anonymous downloads from intentionally public repositories.
  • Load balancer and uptime monitors polling endpoints without auth.
  • Log pipelines that redact authorization headers, causing false 'no-auth' attribution.

Other platforms for CVE-2026-42018


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Unauthenticated access to Artifactory security API

    Expected signal: Reverse-proxy/IIS and Artifactory access logs record a GET to /api/security/permissions from the test host with no authorization header.

  2. Test 2Anonymous token minting attempt against Access API

    Expected signal: Access log records a POST to /access/api/v1/tokens; Access service logs a token-creation event.

  3. Test 3Anonymous repository enumeration

    Expected signal: IIS/reverse-proxy logs record a GET to /api/repositories with an anonymous or empty user field.


Response Playbook

Triage

  1. Confirm the running Artifactory version against JFrog's security advisory for CVE-2026-42018 and determine if the instance is a patched or vulnerable release.
  2. Review the source IPs flagged by the detection: geolocate them, check reputation, and determine whether they are internal CI/CD runners, known scanners, or external unknown hosts.
  3. Correlate the flagged requests with the Artifactory access.log (request_response.log) to confirm the requests returned protected data without a valid principal.
  4. Determine which sensitive endpoints were accessed (/api/security for permissions/tokens, /api/system for config, /api/repositories for repo enumeration) to scope potential data exposure.

Containment

  1. Restrict inbound access to the Artifactory UI/API to trusted networks via firewall/reverse-proxy ACLs until patching is complete.
  2. Disable or restrict anonymous access globally and revoke any access tokens or API keys that may have been exposed or created via the bypass (/access/api/v1/tokens).
  3. If exploitation is confirmed, isolate the Artifactory node from the network and fail over to a known-good replica if available.

Evidence Collection

  1. Preserve Artifactory access.log, request.log, and console.log covering the exploitation window, plus the reverse-proxy/IIS/NGINX access logs.
  2. Snapshot the Artifactory database and configuration to capture any attacker-created users, tokens, permission targets, or repositories.
  3. Export the full HTTP transactions (headers and bodies where captured) for the flagged source IPs for forensic and IOC extraction.

Escalation Criteria

  • !Escalate to incident response if protected artifacts, credentials, or admin configuration were successfully retrieved without authentication.
  • !Escalate if attacker-created accounts, access tokens, or modified permission targets are discovered.
  • !Escalate if the bypass was used to publish or overwrite artifacts, indicating a potential supply-chain compromise of downstream consumers.

Investigation Guide

Related Techniques

Forensic Artifacts

  • >Artifactory access.log / request_response.log entries showing 2xx responses to protected endpoints with empty or anonymous principals.
  • >Reverse-proxy (NGINX/IIS) access logs recording the raw request lines and source IPs.
  • >Newly created access tokens in the Access service database and new permission targets or admin users in the security configuration.

Tuning Guidance

Baseline the set of source IPs that legitimately perform anonymous reads against public repositories (CI runners, package managers) and exclude them via an allowlist. Ensure the reverse proxy is not stripping the Authorization header before logging, which would otherwise cause authenticated requests to appear unauthenticated and inflate false positives. Tighten the hit threshold upward in high-traffic environments and focus on write/admin methods (POST/PUT/DELETE) against /api/security and /access endpoints for the highest-fidelity alerts.


Hunting Queries

Hunts for token-creation requests against the Access API that succeeded, which may indicate an attacker minting credentials after bypassing authentication.

Hunting — KQL
kql
W3CIISLog | where csUriStem contains "/access/api/v1/tokens" and csMethod == "POST" and scStatus startswith "20" | project TimeGenerated, cIP, csUserName, csUriStem, scStatus
Hunting — SPL
spl
index=web (uri_path="*/access/api/v1/tokens*") method=POST status>=200 status<300 | stats count by src_ip, user, uri_path

Atomic Red Team Tests

Test 1 Unauthenticated access to Artifactory security API
linux

Attempts to retrieve the Artifactory permissions/security configuration without providing any credentials to validate whether the endpoint is reachable anonymously.

Command

bash
curl -s -o /dev/null -w '%{http_code}\n' http://artifactory.lab.local:8081/artifactory/api/security/permissions

Cleanup

bash
echo 'No cleanup required; read-only request.'

Expected Telemetry

Reverse-proxy/IIS and Artifactory access logs record a GET to /api/security/permissions from the test host with no authorization header.

Expected Detection

KQL/SPL rules flag a successful (2xx) unauthenticated request to a sensitive /api/security endpoint.

Test 2 Anonymous token minting attempt against Access API
linux

Attempts to create an access token via the Access API without authentication to simulate credential creation after an auth bypass.

Command

bash
curl -s -X POST http://artifactory.lab.local:8081/access/api/v1/tokens -d 'scope=applied-permissions/admin' -w '\nHTTP:%{http_code}\n'

Cleanup

bash
curl -s -X DELETE http://artifactory.lab.local:8081/access/api/v1/tokens/revoke -d 'token=<created_token>' || true

Expected Telemetry

Access log records a POST to /access/api/v1/tokens; Access service logs a token-creation event.

Expected Detection

Hunting query for token-creation POSTs and the primary rule flag the unauthenticated POST to the tokens endpoint.

Test 3 Anonymous repository enumeration
windows

Enumerates configured repositories through the REST API without credentials to test authentication controls on repository metadata.

Command

powershell
powershell -c "try { $r = Invoke-WebRequest -Uri 'http://artifactory.lab.local:8081/artifactory/api/repositories' -UseBasicParsing; $r.StatusCode } catch { $_.Exception.Response.StatusCode.value__ }"

Cleanup

powershell
Write-Host 'No cleanup required; read-only request.'

Expected Telemetry

IIS/reverse-proxy logs record a GET to /api/repositories with an anonymous or empty user field.

Expected Detection

Detection rules flag successful anonymous access to /api/repositories and aggregate repeated hits from the source.

Related Detections