Detect CVE-2026-55166: Lemur ACME SSRF and IDOR Leading to AWS IAM/PKI Compromise in Microsoft Sentinel
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
KQL Detection Query
union
(
AzureDiagnostics
| where Category == "ApplicationGatewayAccessLog" or Category == "FrontDoorAccessLog"
| where requestUri_s matches regex @"/api/v1/(certificates|authorities|pending_certificates)"
| where requestUri_s matches regex @"(acme|challenge|validation|dns-01|http-01|tls-alpn)"
| extend SuspiciousTarget = extract(@"url=([^&\s]+)", 1, requestUri_s)
| where SuspiciousTarget matches regex @"(169\.254\.169\.254|fd00:ec2|metadata\.google|127\.|localhost|10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)"
),
(
W3CIISLog
| where csUriStem matches regex @"/api/v1/(certificates|authorities|pending_certificates)"
| where csMethod in ("POST", "PUT", "PATCH")
| extend BodyHint = tostring(csUriQuery)
| where BodyHint matches regex @"(acme|url=|validation_method)"
| summarize RequestCount = count(), DistinctUris = dcount(csUriStem) by cIP, bin(TimeGenerated, 5m)
| where RequestCount > 10
),
(
CommonSecurityLog
| where DeviceVendor == "nginx" or ApplicationProtocol == "HTTP"
| where RequestURL matches regex @"/api/v1/certificates/[0-9]+"
| where RequestMethod in ("GET", "PUT", "DELETE")
| summarize Owners = make_set(SourceUserName), RequestCount = count() by DestinationHostName, RequestURL, bin(TimeGenerated, 10m)
| where array_length(Owners) > 1
)
| project TimeGenerated, SourceIP = coalesce(cIP, SourceIP), RequestURL = coalesce(csUriStem, RequestURL, requestUri_s), SuspiciousTarget, RequestCount Detects three exploitation patterns: SSRF via ACME challenge URL manipulation targeting cloud metadata endpoints, high-frequency certificate API probing indicative of IDOR enumeration, and cross-owner access to certificate resources.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate ACME DNS/HTTP-01 validation workflows that include internal URL callbacks
- Authorized penetration testing against Lemur certificate management endpoints
- Automated certificate renewal agents making high-frequency API calls
- Internal network scanners or health-check systems probing Lemur API
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.