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/moDetect 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
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"] 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
Required Tables
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.
- 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'.
- 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.
- 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.
References (6)
- https://github.com/nocobase/nocobase/security/advisories/GHSA-p849-8hwh-84j9
- https://nvd.nist.gov/vuln/detail/CVE-2026-52887
- https://github.com/nocobase/nocobase/pull/9630
- https://github.com/nocobase/nocobase/commit/68d64e3fcfb8be2ae4f3bfc9e1ee3f85b87c89ce
- https://github.com/nocobase/nocobase/releases/tag/v2.0.61
- https://github.com/advisories/GHSA-p849-8hwh-84j9
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