Skip to main content

NocoBase CVE-2026-52888

| EUVDEUVD-2026-44800 MEDIUM
Incomplete List of Disallowed Inputs (CWE-184)
2026-07-15 GitHub_M GHSA-v8vm-cqh8-q87q
6.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as NocoBase admin
  2. Delivery
    Navigate to SQL Collection feature
  3. Exploit
    Submit SELECT query targeting pg_shadow or pg_roles
  4. Execution
    Bypass incomplete keyword blacklist via direct or subquery form
  5. Persist
    Receive PostgreSQL password hashes in query results
  6. Impact
    Crack hashes offline to obtain plaintext database credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
Exploitation Conditions

Exploitation requires an authenticated NocoBase admin-role account (confirmed by PR:H in the CVSS vector). The @nocobase/plugin-collection-sql plugin must be installed and active - it is a separately enabled plugin, not a core NocoBase component. The backend database must be PostgreSQL; pg_shadow, pg_roles, and pg_stat_activity are PostgreSQL-specific system catalog tables unavailable in MySQL or SQLite deployments. The PostgreSQL role used by NocoBase must have sufficient privileges to query pg_shadow - typically true when NocoBase connects as a superuser or pg_shadow-read-capable role, which is common in default deployments. Non-admin NocoBase users cannot define SQL Collections and are not affected. No network-level special conditions are required beyond admin access to the NocoBase web interface.

Impact

The CVSS 3.1 score of 6.8 (Medium) with vector AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N captures the tension between high confidentiality impact and a high-privilege prerequisite. The PR:H requirement substantially constrains real-world risk - exploitation is limited to actors who already hold a trusted NocoBase admin account. That said, the S:C metric is accurate: a successful exploit crosses the application boundary into PostgreSQL system catalogs, returning bcrypt password hashes that could enable offline cracking and lateral movement into the database directly. Risk escalates in shared NocoBase deployments where the admin role is distributed across multiple operators who are not fully trusted database superusers, or in scenarios where a lower-privilege account is escalated to admin through a separate vulnerability. No EPSS data was provided in the input; exploitation probability cannot be quantified. This CVE is not in CISA KEV, and no public exploit code has been identified. The commit-confirmed subquery bypass (wrapping pg_shadow in a derived table) demonstrates the original blocklist was exploitable by any admin through trivially obfuscated SQL, which increases confidence that in-the-wild exploitation was feasible for any admin with knowledge of PostgreSQL internals.

Exploit ScenarioDerived

An authenticated NocoBase administrator navigates to the SQL Collection configuration interface and creates a new collection using the query SELECT usename, passwd FROM pg_shadow or its subquery variant SELECT * FROM (SELECT usename, passwd FROM pg_shadow) AS passwords. Both forms bypass the original keyword blacklist, and the application executes the query against PostgreSQL, returning bcrypt-hashed credentials for all database users. The attacker then runs offline hash-cracking against the retrieved hashes to recover plaintext passwords, enabling direct database access independent of the NocoBase application.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 15, 2026

PostgreSQL password hash disclosure in NocoBase 2.0.59 and earlier allows an authenticated administrator to extract pg_shadow credential hashes and database metadata by submitting raw SQL queries that reference system catalog tables omitted from the checkSQL() keyword blacklist. The SQL Collection plugin's blocklist-based validation failed to restrict pg_shadow, pg_roles, pg_stat_activity, and information_schema, and the commit diff confirms the bypass also worked via subquery wrapping (e.g., SELECT * FROM (SELECT usename, passwd FROM pg_shadow) AS passwords). No public exploit identified at time of analysis, and this CVE is not listed in CISA KEV; a vendor-released patch is available in v2.1.0-alpha.46.

RemediationAI

Upgrade to NocoBase 2.1.0-alpha.46 or later, which expands the checkSQL() blocklist to include pg_catalog, pg_shadow, pg_authid, pg_auth_members, pg_roles, pg_stat_activity, and information_schema, and closes the subquery bypass vector. The patched release is available at https://github.com/nocobase/nocobase/releases/tag/v2.1.0-alpha.46; the specific fix commit is https://github.com/nocobase/nocobase/commit/87c548969ce9258dd7f0d9571c9453ae10bc3fc4. If an immediate upgrade is not possible, disable the @nocobase/plugin-collection-sql plugin entirely - this removes the attack surface at the cost of SQL-backed collection functionality. As a partial mitigation, audit all existing SQL Collection definitions for references to pg_shadow, pg_roles, pg_stat_activity, information_schema, or subqueries that alias these tables, and delete any offending collections. Organizations with strict security requirements should note that blocklist-based SQL validation is inherently fragile against novel bypass patterns; consider restricting the PostgreSQL role used by NocoBase to a least-privilege account that cannot read pg_shadow even if a bypass is discovered.

Affected VersionsENISA

nocobase < 2.1.0-alpha.46

Affected Packages

npm @nocobase/plugin-collection-sql fix: 2.0.62, 2.1.0-alpha.46, 2.1.0-beta.45
euvd nocobase fix: 2.1.0-alpha.46

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is @nocobase/plugin-collection-sql, a NocoBase plugin that allows administrators to define database-backed views using raw SQL through the 'SQL Collection' feature. Input is gated by the checkSQL() function in packages/plugins/@nocobase/plugin-collection-sql/src/server/utils.ts, which implements CWE-184 (Incomplete List of Disallowed Inputs) - a blocklist approach that originally omitted the PostgreSQL system catalog identifiers pg_shadow (password hashes), pg_authid, pg_auth_members, pg_roles, pg_stat_activity, pg_catalog, and the information_schema schema. The CVSS Scope:Changed metric reflects that the query crosses from the NocoBase application boundary into the PostgreSQL system catalog layer. A secondary bug - sql.trim().split(';').shift() could return undefined rather than an empty string - was also patched in the same commit, closing a potential edge-case bypass. The CPE cpe:2.3:a:nocobase:nocobase:*:*:*:*:*:*:*:* covers all NocoBase versions through 2.0.59. The vulnerability is PostgreSQL-specific; pg_shadow and related catalogs do not exist in MySQL or SQLite deployments.

Know when Nocobase gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.8 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N
vuln.today AI 6.8 MEDIUM

Admin role required to access SQL Collection (PR:H); scope changes as query reaches PostgreSQL system catalogs (S:C); confidentiality high (password hashes); no integrity or availability impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Jul 15, 2026 - 22:33 EUVD

DescriptionCVE.org

NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solutions. In 2.0.59 and earlier, NocoBase @nocobase/plugin-collection-sql used the checkSQL() function in packages/plugins/@nocobase/plugin-collection-sql/src/server/utils.ts with an incomplete keyword blacklist that did not restrict PostgreSQL system catalog tables such as pg_shadow, pg_roles, and pg_stat_activity, allowing an admin-role user to read password hashes and database metadata through the SQL Collection feature. This vulnerability is fixed in 2.1.0-alpha.46.

Threat Intelligence Overview

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Low
niche open-source no-code platform, limited enterprise production footprint
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

54
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy