Detect CVE-2026-55166: Lemur ACME SSRF and IDOR Leading to AWS IAM/PKI Compromise in Google Chronicle
Detects exploitation of CVE-2026-55166 in Netflix Lemur (versions < 1.9.2), which combines an ACME protocol Server-Side Request Forgery (CWE-918) with a creator-equality Insecure Direct Object Reference (CWE-639/CWE-285). Successful exploitation allows an attacker to pivot from certificate management to AWS IAM credential theft and PKI infrastructure compromise. PoC is publicly available.
MITRE ATT&CK
YARA-L Detection Query
rule cve_2026_55166_lemur_ssrf_idor {
meta:
author = "df00tech Detection Engineering"
description = "Detects CVE-2026-55166 Lemur ACME SSRF and IDOR exploitation"
severity = "CRITICAL"
priority = "HIGH"
reference = "https://github.com/Netflix/lemur/security/advisories/GHSA-v2wp-frmc-5q3v"
yara_version = "YL2.0"
rule_version = "1.0"
events:
(
$e.metadata.event_type = "NETWORK_HTTP"
and (
re.regex($e.network.http.request_url, `/api/v1/(certificates|authorities|pending_certificates)`)
)
and (
(
re.regex($e.network.http.request_url, `(acme|challenge|validation)`) and
re.regex($e.network.http.request_url, `url=`)
) or
re.regex($e.network.http.request_url, `169\.254\.169\.254`) or
re.regex($e.network.http.request_url, `fd00:ec2`) or
re.regex($e.network.http.request_url, `metadata\.google\.internal`)
)
)
and $e.principal.ip != ""
match:
$e.principal.ip over 10m
outcome:
$risk_score = max(
if(re.regex($e.network.http.request_url, `169\.254\.169\.254`), 95, 0) +
if(re.regex($e.network.http.request_url, `acme.*url=`), 75, 0)
)
$src_ip = array_distinct($e.principal.ip)
$request_urls = array_distinct($e.network.http.request_url)
$usernames = array_distinct($e.principal.user.userid)
condition:
#e > 1
} Chronicle YARA-L 2.0 rule detecting Lemur SSRF exploitation via ACME URL callback manipulation targeting cloud metadata endpoints, with risk scoring based on attack severity.
Data Sources
Required Tables
False Positives & Tuning
- ACME certificate automation tools with internal URL validation callbacks
- Authorized red team simulations generating SSRF payloads
- Legitimate Lemur integrations that reference internal network ranges in configuration
- Security scanners that probe SSRF via known CVE patterns
Other platforms for CVE-2026-55166
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.
- Test 1CVE-2026-55166 ACME SSRF via HTTP-01 Challenge URL Injection
Expected signal: Outbound HTTP GET to 169.254.169.254 from Lemur process; web log entry for POST /api/v1/certificates with pluginOptions containing acme_challenge_url
- Test 2CVE-2026-55166 IDOR Certificate Enumeration via Sequential ID Access
Expected signal: 200 HTTP responses to GET /api/v1/certificates/[1-200] from a single source IP; Lemur audit log entries for cross-user certificate access
- Test 3CVE-2026-55166 Chained SSRF + IDOR for AWS IAM Credential Harvest
Expected signal: Sequential GET requests to /api/v1/authorities/[1-50]; POST to /api/v1/certificates with IMDS URL in pluginOptions; outbound TCP connection from Lemur process to 169.254.169.254:80
Unlock Pro Content
Get the full detection package for CVE-2026-55166 including response playbook, investigation guide, and atomic red team tests.