Skip to main content

NocoBase CVE-2026-112306

| EUVDEUVD-2026-104398 HIGH
SQL Injection (CWE-89)
2026-10-19 VulnCheck GHSA-j67h-xf8r-r323
8.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as collection-sql privileged user
  2. Delivery
    Call sqlCollection:setFields to store malicious SQL
  3. Exploit
    Bypass checkSQL() validation
  4. Execution
    Trigger execution on collection reload
  5. Impact
    Read pg_shadow hashes / pg_read_file arbitrary files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated NocoBase user who holds the 'collection-sql' snippet permission (a specific privilege grant, not merely any logged-in account) and the ability to invoke the sqlCollection:setFields action. The backend must be PostgreSQL for the described impact, since the attack leverages PostgreSQL-specific primitives (pg_shadow table and the pg_read_file function). The flaw works against affected versions through 2.2.28 by replacing a previously-validated benign collection query with malicious SQL that bypasses checkSQL(), which executes on the next collection reload. Limiting factors: no unauthenticated access, no self-service registration path to this privilege by default, high privilege requirement (PR:H), and PostgreSQL-specific payloads for the hash-dump/file-read impact - in environments where collection-sql operators are already trusted near-admins, the marginal risk is lower.

Impact

This is a genuine but conditional priority rather than a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC/VI/VA all High, score 8.6) is internally consistent with the description: network-reachable, low complexity, no user interaction, but requiring HIGH privileges - specifically a user already holding the collection-sql snippet. That PR:H is the single most important risk-limiting signal and it is corroborated by the description's phrase 'allows privileged users.' No EPSS score, KEV listing, or SSVC decision data was provided in the input. The vulnerability is sourced from a VulnCheck advisory and a public GitHub issue (#10629) with a direct link to the vulnerable source (sql.ts#L14-L104), which raises the practical likelihood that working exploit logic can be reconstructed, but no explicit public exploit code (POC) is claimed - so per precision rules this is 'no public exploit identified at time of analysis.' Signals are not conflicting: both CVSS and description agree exploitation needs privileged/authenticated access. The realistic risk is post-authentication privilege-to-database/host escalation (reading pg_shadow password hashes and pg_read_file for arbitrary file disclosure), not mass unauthenticated compromise - making this high-value in multi-tenant or least-privilege NocoBase deployments where a 'collection-sql' operator is not meant to reach the raw database or filesystem. EPSS and KEV absence means widespread automated exploitation is unproven.

Exploit ScenarioDerived

An attacker who already holds the collection-sql snippet permission in NocoBase (a mid-tier privileged user, not an admin) crafts a request to the sqlCollection:setFields action to store malicious SQL that bypasses the checkSQL() validation. When the SQL collection is reloaded, the stored statement executes against the PostgreSQL backend, letting the attacker dump pg_shadow password hashes or read arbitrary files via pg_read_file. No public POC is identified, though the advisory and the linked vulnerable source code (sql.ts) substantially lower the barrier to weaponization.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 19, 2026

SQL injection in NocoBase's @nocobase/plugin-collection-sql through 2.2.28 allows an authenticated user with the collection-sql snippet permission to bypass checkSQL() through the sqlCollection:setFields action and persist malicious SQL that executes when the collection reloads. The issue requires high privileges and a PostgreSQL backend for the described impact, where injected statements can read pg_shadow password hashes or invoke pg_read_file; no public exploit was identified at time of analysis. It is a conditional, high-privilege risk rather than an unauthenticated emergency.

RemediationAI

No vendor-released patch or fixed version was identified in the provided data; track GitHub issue https://github.com/nocobase/nocobase/issues/10629 and NocoBase releases for a version beyond 2.2.28, then upgrade @nocobase/plugin-collection-sql. Until a patch is available, restrict the collection-sql snippet permission and the sqlCollection:setFields action to fully trusted administrator accounts, and audit or remove stored SQL collections that are not essential. Where the plugin is not required, disable or remove @nocobase/plugin-collection-sql; this removes the attack surface but may break SQL-backed collections. Run the NocoBase database connection under a least-privilege PostgreSQL role that is not superuser and lacks pg_read_server_files or equivalent file-read rights, which limits pg_shadow and pg_read_file impact but may affect legitimate administrative features. See the VulnCheck advisory https://www.vulncheck.com/advisories/nocobase-plugin-collection-sql-through-2.2.28-sql-injection-via-sqlcollection-setfields.

Affected VersionsENISA

nocobase 0 ≤2.2.28

Affected Packages

euvd nocobase no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

NocoBase is a Node.js low-code/no-code platform, and the @nocobase/plugin-collection-sql package lets users define SQL-backed collections. The flaw is CWE-89 (improper neutralization of special elements used in SQL) in the plugin's server-side sql.ts logic referenced at lines 14-104: the sqlCollection:setFields action accepts a stored collection query, and checkSQL() can be bypassed so unvalidated SQL persists in configuration and is executed on the next collection reload. Exploitation requires an authenticated NocoBase account holding the collection-sql snippet privilege and access to that action; the data-exfiltration primitives described, pg_shadow and pg_read_file, are PostgreSQL-specific, so the highest-impact path applies to PostgreSQL-backed deployments. The CPE cpe:2.3:a:nocobase:nocobase:*:*:*:*:*:*:*:* covers affected NocoBase releases through 2.2.28.

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 (VulnCheck) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.2 HIGH

Network-reachable action with low complexity and no user interaction, but requires the high-privilege collection-sql snippet (PR:H); arbitrary SQL yields full confidentiality, integrity, and availability impact on the database.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
High
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

NocoBase @nocobase/plugin-collection-sql through 2.2.28 contains an SQL injection vulnerability that allows privileged users to store unvalidated SQL by bypassing checkSQL() through the sqlCollection:setFields action. Attackers holding the collection-sql snippet can replace a benign collection query with dangerous statements executed on reload, reading pg_shadow password hashes or calling pg_read_file.

Executive ViewAI

Why It Matters

NocoBase's collection-SQL plugin through version 2.2.28 contains a high-severity SQL injection flaw that allows users with the collection-sql snippet permission to persist malicious SQL, which can then expose PostgreSQL password hashes or read server files when the collection reloads. Leadership should care because this creates a data-exposure pathway on PostgreSQL-backed deployments for accounts with elevated permissions, although exploitation requires significant access and no public exploit has been identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; restrict the collection-sql snippet permission to trusted administrators, disable @nocobase/plugin-collection-sql if not required, enforce least-privilege PostgreSQL roles that cannot read pg_shadow or invoke pg_read_file, and monitor for sqlCollection:setFields abuse and persisted SQL changes.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Low
niche open-source no-code platform, limited enterprise production footprint
Data Quality
4 sources
Confidence: Medium

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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

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