Description
VNote is a note-taking platform. Prior to 4.3.0, SessionConfig::ExternalProgram::fetchCommand wraps a note path in double quotes and substitutes it into a command string that QProcess::start(const QString&) reparses into arguments through ProcessUtils::startDetached. The automatic path in src/controllers/viewareacontroller.cpp and the Open With path in src/controllers/notebooknodecontroller.cpp both reach this sink. On Linux and macOS, an attacker-controlled double quote in a POSIX note filename can terminate the quoted path and add arguments to the victim's configured external program. If the configured program supports an argument that executes commands, such as the vim or gvim -c option, the injected arguments can execute arbitrary commands as the user. This issue is fixed in version 4.3.0.
Published: 2026-10-13
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability allows an attacker to inject shell arguments through a note filename that contains a double quote. When the application passes the note path to QProcess via the external program configuration, the quoted path is unescaped by the OS and any trailing arguments are parsed as part of the command. If the configured external program accepts a command option—such as vim or gvim’s -c flag—the attacker can execute arbitrary commands with the privileges of the user running VNote. This flaw is a classic command injection (CWE‑78) and occurs in both the automatic document opening and the Open With workflow, potentially allowing attackers to read, modify, or delete arbitrary files, or to gain full control of the system. The flaw is present in all versions of VNote prior to 4.3.0. The affected product is the VNote desktop application for note‑taking, used on Linux and macOS. An attacker only needs to create or rename a note with a crafted filename; no network or elevated permissions are required beyond the local user. The vulnerability has a CVSS score of 7, indicating a high severity. EPSS data is not available, and the flaw is not currently listed in the CISA KEV catalog, but the attack vector is local and does not require network connectivity. Because the exploit leverages a feature that is enabled by default (external program usage), an attacker who has a foothold on the system—such as from a compromised note or malicious script—can easily trigger the injection. The overall risk is significant for any user who allows external program integration without careful configuration.

Affected Systems

VNote (vnotex:vnote), any installation of the VNote note‑taking application prior to version 4.3.0 on Linux or macOS, regardless of the specific operating system version.

Risk and Exploitability

The exploitation requires only a crafted note file containing a double quote, a feature available to any local user with write access to the note repository. The victim’s configured external program must accept a command argument; common programs such as vim provide this capability. The attacker can thus execute arbitrary commands while maintaining the privileges of the local user. The CVSS score of 7 signals a high impact, and although EPSS is not provided, the local nature of the attack means that the exploit can be performed offline. Since the flaw is not yet listed in KEV, there are no known widespread active exploitation campaigns, but the ease of trigger makes it a credible threat for targeted attacks.

Generated by OpenCVE AI on October 14, 2026 at 12:48 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade VNote to version 4.3.0 or later, which removes the unsafe detection of double quotes in note filenames.
  • If patching is delayed, disable the External Program feature in the application settings to prevent the injection vector from being used.
  • Configure any external program to run without command‑line arguments that execute code (for example, avoid using vim –c or similar options) and set the program path to a safe command that does not process additional arguments.

Generated by OpenCVE AI on October 14, 2026 at 12:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 18 Oct 2026 14:30:00 +0000

Type Values Removed Values Added
First Time appeared Vnotex
Vnotex vnote
Vendors & Products Vnotex
Vnotex vnote

Wed, 14 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 13 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Description VNote is a note-taking platform. Prior to 4.3.0, SessionConfig::ExternalProgram::fetchCommand wraps a note path in double quotes and substitutes it into a command string that QProcess::start(const QString&) reparses into arguments through ProcessUtils::startDetached. The automatic path in src/controllers/viewareacontroller.cpp and the Open With path in src/controllers/notebooknodecontroller.cpp both reach this sink. On Linux and macOS, an attacker-controlled double quote in a POSIX note filename can terminate the quoted path and add arguments to the victim's configured external program. If the configured program supports an argument that executes commands, such as the vim or gvim -c option, the injected arguments can execute arbitrary commands as the user. This issue is fixed in version 4.3.0.
Title VNote: Argument injection to arbitrary command execution via crafted note filename in external-program handling
Weaknesses CWE-78
CWE-88
References
Metrics cvssV3_1

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-14T16:33:04.673Z

Reserved: 2026-09-04T19:23:40.691Z

Link: CVE-2026-86022

cve-icon Vulnrichment

Updated: 2026-10-14T16:32:52.871Z

cve-icon NVD

Status : Deferred

Published: 2026-10-13T20:18:55.473

Modified: 2026-10-16T20:04:29.760

Link: CVE-2026-86022

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-18T14:15:14Z

Weaknesses
  • CWE-78

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

  • CWE-88

    Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')