CVE-2026-52887 is a critical SQL injection vulnerability in NocoBase affecting the @nocobase/plugin-notification-in-app-message component before version 2.0.61. The flaw is present in the GET /api/myInAppChannels:list action, where the filter parameter for latest message receive timestamp is interpolated into a Sequelize.literal() SQL expression without escaping or parameter binding. Because user-controlled input is incorporated into a raw SQL fragment, an authenticated user can inject arbitrary PostgreSQL syntax, including stacked statements. On PostgreSQL-backed deployments, this can extend beyond database query manipulation to operating system command execution through PostgreSQL features such as COPY ... TO PROGRAM when the database account has sufficient privileges. The issue was corrected in 2.0.61 by introducing strict validation and type coercion for the timestamp value and replacing the unsafe raw comparison logic with safer Sequelize parameter binding.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a compact Python proof-of-concept for CVE-2026-52887 affecting NocoBase's @nocobase/plugin-notification-in-app-message plugin (<= 2.0.60), verified against nocobase/nocobase:2.0.57. The main exploit logic is in exploit.py; supporting documentation is in README.md, ANALYSIS.md, and EVIDENCE.txt; and lab/docker-compose.yml provides a vulnerable reproduction environment. Exploit flow: the script optionally self-registers a user through /api/auth:signUp?authenticator=basic, signs in through /api/auth:signIn?authenticator=basic to obtain a bearer token, then sends requests to /api/myInAppChannels:list with the query parameter filter[latestMsgReceiveTimestamp][$lt]. The repository documents that this parameter is concatenated into a Sequelize.literal() expression without binding, enabling SQL injection. The script first confirms the issue with a time-based blind payload using PG_SLEEP(5), then sends a stacked-statement payload using PostgreSQL COPY (SELECT 1) TO PROGRAM '<cmd>' to execute arbitrary shell commands as the postgres OS user. Main capabilities: authenticated-but-practically-unauthenticated exploitation on default installs due to self-signup, blind SQL injection confirmation, and remote OS command execution on the PostgreSQL host/container. The command is user-supplied via --cmd and single quotes are escaped before insertion into the SQL payload. Output is not returned over HTTP, so the operator is expected to redirect output to a file or use another callback mechanism. Repository structure: exploit.py is the operational PoC entry point; README.md explains vulnerability details, exploitation chain, raw HTTP examples, impact, remediation, and detection ideas; ANALYSIS.md provides source-level root cause and patch-diff analysis; EVIDENCE.txt records successful exploitation and patched-version behavior; lab/docker-compose.yml defines a vulnerable PostgreSQL + NocoBase lab setup. Overall, this is a real exploit repository, not merely a detector, and it demonstrates end-to-end SQLi-to-RCE against a specific default deployment pattern.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
9 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A critical SQL injection vulnerability in the @nocobase/plugin-notification-in-app-message plugin of NocoBase prior to version 2.0.61 that can lead to remote code execution on the underlying PostgreSQL server.
A SQL injection vulnerability in NocoBase @nocobase/plugin-notification-in-app-message that allows an authenticated user to execute stacked PostgreSQL statements and potentially achieve command execution via COPY ... TO PROGRAM.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.