Response playbooks, investigation guides, and Atomic Red Team tests are Pro-only. Upgrade to unlock the full detection package for CVE-2026-52887.

Unlock with Pro - from £29/user/mo
CVE-2026-52887 Elastic Security · Elastic

Detect NocoBase myInAppChannels:list SQL Injection to PostgreSQL Superuser RCE (CVE-2026-52887) in Elastic Security

CVE-2026-52887 is a critical (CVSS 10.0) SQL injection vulnerability in the @nocobase/plugin-notification-in-app-message plugin's /api/myInAppChannels:list endpoint filter parameter, affecting NocoBase versions <= 2.0.60. An unauthenticated or low-privileged attacker can inject arbitrary SQL through the filter query parameter, which is passed insufficiently sanitized into the underlying Sequelize/PostgreSQL query builder. Because NocoBase's database connection frequently runs with elevated (superuser) PostgreSQL privileges to support its dynamic schema/collection features, successful injection can be escalated via COPY ... TO/FROM PROGRAM or dblink/plpythonu extensions to achieve full remote code execution on the database host. Patched in v2.0.61 (PR #9630, commit 68d64e3).

MITRE ATT&CK

Tactic
Initial Access Execution

Elastic Detection Query

Elastic Security (Elastic)
eql
sequence by http.client.ip with maxspan=5m
  [network where url.path : "*myInAppChannels:list*" and
    url.query : ("*COPY*PROGRAM*", "*dblink*", "*UNION*SELECT*", "*plpythonu*", "*information_schema*")]
  [network where destination.port == 5432 and event.action == "connection_attempt"]
critical severity medium confidence

Correlates suspicious SQL-injection-laden requests to the NocoBase myInAppChannels:list endpoint with subsequent anomalous PostgreSQL connection activity from the same client, indicating potential exploitation of CVE-2026-52887 leading to database access.

Data Sources

HTTP/Proxy LogsNetwork Traffic (PostgreSQL port 5432)

Required Tables

logs-network_traffic.httplogs-network_traffic.flow

False Positives & Tuning

  • Application servers legitimately connecting to PostgreSQL after normal API calls
  • Load balancer health checks hitting the endpoint
  • Database administration tools scanning port 5432

Other platforms for CVE-2026-52887


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 1Simulate SQL Injection Probe Against myInAppChannels:list

    Expected signal: HTTP access log entry showing GET /api/myInAppChannels:list with URL-encoded filter parameter containing 'UNION SELECT'.

  2. Test 2Simulate PostgreSQL COPY PROGRAM Injection Payload

    Expected signal: HTTP log entry with decoded filter containing 'COPY' and 'PROGRAM'; if unpatched and role is superuser, PostgreSQL log shows the executed COPY PROGRAM statement and spawned OS process.

  3. Test 3Validate Patched Version Rejects Injection Payload

    Expected signal: HTTP access log entry showing the same injection attempt, but application logs indicate a validation error (400 Bad Request) rather than a raw query execution.

Unlock playbooks & atomic tests with Pro

Get the full detection package for CVE-2026-52887 — response playbook and atomic red team tests, plus investigation guidance and hunting queries.

df00tech Pro — £29/user/month

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections