CVE-2026-55410

NocoBase backup restore schema name allows command injection

Published Jul 15, 2026 CVSS 3.1 · 6.7 Medium EPSS < 1% KEV · Not listed
Description
NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solutions. Prior to 2.1.19, NocoBase @nocobase/plugin-backups restored PostgreSQL backups by interpolating the database.schema value from _metadata.json into shell command strings executed with Node.js child_process.exec(), allowing a backup-management user restoring a crafted backup to execute commands as the NocoBase server process. This vulnerability is fixed in 2.1.19.

Analysis

AI-generated

Technical impact

The vulnerability stems from unsafe interpolation of the database.schema value from a _metadata.json file into a shell command string that is executed with Node.js child_process.exec(). According to the advisory, any backup-management user who restores a crafted backup can inject and execute arbitrary commands as the NocoBase server process. This leads to a full compromise of confidentiality, integrity and availability on the host running the service, since the injected commands run with the same privileges as the application. The weakness is a classic command injection flaw (CWE-78).

Affected Systems

All instances of NocoBase that use the @nocobase/plugin-backups package and are running a version earlier than 2.1.19 are affected. The vulnerability applies to the nocobase product supplied by the vendor NocoBase.

Risk and Exploitability

The CVSS score of 6.7 indicates a medium severity. The EPSS score is reported as < 1%, suggesting a low probability of exploitation at this time. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires a backup-management user who triggers a restore operation; therefore, it is likely that authenticated privilege is a prerequisite. Once the injection is triggered, the attacker can execute arbitrary shell commands as the server process. Given the low EPSS and no public exploits, the risk is moderate but the potential impact is high if the server runs with elevated privileges.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade NocoBase to version 2.1.19 or later to apply the vendor’s fix
  • Verify that any backup files to be restored originate from trusted sources and have not been tampered with before restoration
  • Restrict the ability to trigger backup restores to a minimal set of authenticated users or roles with the least privileges necessary
  • Monitor system logs for unexpected child_process.exec() usage or anomalous backup restore requests

Generated by OpenCVE AI on July 31, 2026 at 02:47 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-p853-83gj-wjj3 NocoBase backup restore schema name allows command injection
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Nocobase
Nocobase nocobase
Vendors & Products Nocobase
Nocobase nocobase
Type Values Removed Values Added
Description NocoBase is an AI-powered no-code/low-code platform for building business applications and enterprise solutions. Prior to 2.1.19, NocoBase @nocobase/plugin-backups restored PostgreSQL backups by interpolating the database.schema value from _metadata.json into shell command strings executed with Node.js child_process.exec(), allowing a backup-management user restoring a crafted backup to execute commands as the NocoBase server process. This vulnerability is fixed in 2.1.19.
Title NocoBase backup restore schema name allows command injection
Weaknesses CWE-78
References
Metrics cvssV3_1

{'score': 6.7, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:H'}

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 18, 2026, 1:52 AM
Reserved
Jun 16, 2026, 9:48 PM
Status
Deferred
Published
Jul 15, 2026, 9:16 PM
Modified
Jul 18, 2026, 2:17 AM