CVE-2026-47413 Elastic Security · Elastic

Detect CVE-2026-47413: PraisonAI Platform Unauthorized Workspace Owner Privilege Escalation in Elastic Security

Detects exploitation of CVE-2026-47413, a critical privilege escalation vulnerability in praisonai-platform < 0.1.4 where any authenticated workspace member can promote arbitrary users to owner role via POST /workspaces/{id}/members without authorization checks. CVSS 9.6. PoC is publicly available.

MITRE ATT&CK

Tactic
Privilege Escalation Persistence

Elastic Detection Query

Elastic Security (Elastic)
eql
sequence by source.ip with maxspan=10m
  [network where event.dataset == "http" and http.request.method == "POST"
    and url.path : "/workspaces/*/members"
    and http.response.status_code in (200, 201)
    and (http.request.body.content : "*owner*" or http.request.body.content : "*\"role\"*")]
  [network where event.dataset == "http" and http.request.method == "GET"
    and url.path : "/workspaces/*/members"
    and http.response.status_code == 200]
critical severity medium confidence

Uses EQL sequence detection to identify a POST that assigns owner role followed by a GET to confirm membership change, indicating CVE-2026-47413 exploitation.

Data Sources

Elastic APMFilebeat HTTP modulePacketbeat

Required Tables

logs-apm.error-*logs-*filebeat-*

False Positives & Tuning

  • Authorized administrators legitimately adding owners followed by verification checks
  • Automated provisioning tools that assign and verify workspace membership
  • Developer environments running integration tests against a PraisonAI instance

Other platforms for CVE-2026-47413


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 1Baseline member promotes arbitrary user to owner via POST /workspaces/{id}/members

    Expected signal: HTTP access logs show POST /workspaces/{id}/members with 200 or 201 status code, source IP of non-admin user, and request body containing role: owner

  2. Test 2Mass workspace owner takeover across multiple workspaces

    Expected signal: Multiple POST requests to /workspaces/*/members within a short timeframe from the same source IP, all returning 200/201, with owner role in each request body

  3. Test 3Verify unauthorized owner role assignment via GET /workspaces/{id}/members

    Expected signal: GET request to /workspaces/{id}/members returning 200 with JSON body containing owner role entry for the target user, following the POST exploitation request

Unlock Pro Content

Get the full detection package for CVE-2026-47413 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections