Common Weakness Enumeration

CWE-1249

Allowed

Application-Level Admin Tool with Inconsistent View of Underlying Operating System

Abstraction: Base · Status: Incomplete

The product provides an application for administrators to manage parts of the underlying operating system, but the application does not accurately identify all of the relevant entities or resources that exist in the OS; that is, the application's model of the OS's state is inconsistent with the OS's actual state.

1 vulnerability references this CWE, most recent first.

CVE-2026-17497 (GCVE-0-2026-17497)

Vulnerability from cvelistv5 – Published: 2026-07-26 14:38 – Updated: 2026-07-26 14:38
VLAI
Title
NoteGen arbitrary OS command execution via Tauri shell:allow-execute for bash/python
Summary
NoteGen before 0.32.0 grants the Tauri shell plugin shell:allow-execute capability for bash, python, and python3 with arbitrary arguments in the default desktop capabilities. JavaScript running in the application webview can therefore invoke plugin:shell|execute to run attacker-controlled operating system commands with the privileges of the NoteGen process. In combination with script execution in the webview (for example via chat XSS), this enables full remote code execution on the user's machine.
CWE
  • CWE-78 - Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
  • CWE-1249 - Application-Level admin tool with inconsistent view of underlying operating system
  • CWE-276 - Incorrect default permissions
Assigner
Impacted products
Vendor Product Version
codexu NoteGen Affected: 0 , < 0.32.0 (semver)
Create a notification for this product.
Credits
Yuval Moravchick JFrog Security Research
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "collectionURL": "https://github.com/codexu/note-gen",
          "defaultStatus": "unaffected",
          "packageName": "note-gen",
          "product": "NoteGen",
          "programFiles": [
            "src-tauri/capabilities/default.json",
            "src-tauri/capabilities/desktop.json"
          ],
          "repo": "git://github.com/codexu/note-gen",
          "vendor": "codexu",
          "versions": [
            {
              "lessThan": "0.32.0",
              "status": "affected",
              "version": "0",
              "versionType": "semver"
            }
          ]
        }
      ],
      "configurations": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eAffects the NoteGen desktop application on a default installation. Exploitation requires the ability to run script in the NoteGen webview (for example via a separate XSS issue) and then invoke the Tauri shell execute API. No non-default capability configuration is required on affected versions.\u003c/p\u003e"
            }
          ],
          "value": "Affects the NoteGen desktop application on a default installation. Exploitation requires the ability to run script in the NoteGen webview (for example via a separate XSS issue) and then invoke the Tauri shell execute API. No non-default capability configuration is required on affected versions."
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Yuval Moravchick"
        },
        {
          "lang": "en",
          "type": "coordinator",
          "value": "JFrog Security Research"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eNoteGen before 0.32.0 grants the Tauri shell plugin shell:allow-execute capability for bash, python, and python3 with arbitrary arguments in the default desktop capabilities. JavaScript running in the application webview can therefore invoke plugin:shell|execute to run attacker-controlled operating system commands with the privileges of the NoteGen process. In combination with script execution in the webview (for example via chat XSS), this enables full remote code execution on the user\u0027s machine.\u003c/p\u003e"
            }
          ],
          "value": "NoteGen before 0.32.0 grants the Tauri shell plugin shell:allow-execute capability for bash, python, and python3 with arbitrary arguments in the default desktop capabilities. JavaScript running in the application webview can therefore invoke plugin:shell|execute to run attacker-controlled operating system commands with the privileges of the NoteGen process. In combination with script execution in the webview (for example via chat XSS), this enables full remote code execution on the user\u0027s machine."
        }
      ],
      "exploits": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eA proof of concept obtains JavaScript execution in the webview (via malicious skill-driven chat XSS) and then calls window.__TAURI__.core.invoke(\u0027plugin:shell|execute\u0027, { program: \u0027bash\u0027, args: [\u0027-c\u0027, \u0027\u0026lt;command\u0026gt;\u0027], ... }) to open Calculator and exfiltrate local files to an attacker-controlled server.\u003c/p\u003e"
            }
          ],
          "value": "A proof of concept obtains JavaScript execution in the webview (via malicious skill-driven chat XSS) and then calls window.__TAURI__.core.invoke(\u0027plugin:shell|execute\u0027, { program: \u0027bash\u0027, args: [\u0027-c\u0027, \u0027\u003ccommand\u003e\u0027], ... }) to open Calculator and exfiltrate local files to an attacker-controlled server."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-242",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-242 Code Injection"
            }
          ]
        },
        {
          "capecId": "CAPEC-549",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-549 Local Execution of Code"
            }
          ]
        },
        {
          "capecId": "CAPEC-17",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-17 Using Malicious Files"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 8.3,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "HIGH",
            "privilegesRequired": "NONE",
            "scope": "CHANGED",
            "userInteraction": "REQUIRED",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H",
            "version": "3.1"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-78",
              "description": "CWE-78: Improper Neutralization of Special Elements used in an OS Command (\u0027OS Command Injection\u0027)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-1249",
              "description": "CWE-1249 Application-Level admin tool with inconsistent view of underlying operating system",
              "lang": "en",
              "type": "CWE"
            }
          ]
        },
        {
          "descriptions": [
            {
              "cweId": "CWE-276",
              "description": "CWE-276 Incorrect default permissions",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-07-26T14:38:08.960Z",
        "orgId": "48a46f29-ae42-4e1d-90dd-c1676c1e5e6d",
        "shortName": "JFROG"
      },
      "references": [
        {
          "name": "Fix: remove unrestricted shell execute for bash/python; harden skill script execution",
          "tags": [
            "patch"
          ],
          "url": "https://github.com/codexu/note-gen/commit/00064a4a8ec4177d51094ffb3e15bf0758009c1f"
        },
        {
          "name": "NoteGen v0.32.0 release",
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://github.com/codexu/note-gen/releases/tag/note-gen-v0.32.0"
        },
        {
          "name": "NoteGen repository",
          "tags": [
            "product"
          ],
          "url": "https://github.com/codexu/note-gen"
        }
      ],
      "solutions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eUpgrade to NoteGen 0.32.0 or later. The fix removes shell:allow-execute entries that permitted bash, python, and python3 with attacker-controlled arguments from the default Tauri capabilities, closing the webview-to-OS command execution path.\u003c/p\u003e"
            }
          ],
          "value": "Upgrade to NoteGen 0.32.0 or later. The fix removes shell:allow-execute entries that permitted bash, python, and python3 with attacker-controlled arguments from the default Tauri capabilities, closing the webview-to-OS command execution path."
        }
      ],
      "source": {
        "discovery": "EXTERNAL"
      },
      "timeline": [
        {
          "lang": "en",
          "time": "2026-06-08T00:00:00.000Z",
          "value": "Vulnerability discovered and PoC verified"
        },
        {
          "lang": "en",
          "time": "2026-07-20T00:00:00.000Z",
          "value": "Fix released in NoteGen v0.32.0 (shell capability lockdown)"
        }
      ],
      "title": "NoteGen arbitrary OS command execution via Tauri shell:allow-execute for bash/python",
      "x_generator": {
        "engine": "Vulnogram 1.0.4"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "48a46f29-ae42-4e1d-90dd-c1676c1e5e6d",
    "assignerShortName": "JFROG",
    "cveId": "CVE-2026-17497",
    "datePublished": "2026-07-26T14:38:08.960Z",
    "dateReserved": "2026-07-26T14:37:51.448Z",
    "dateUpdated": "2026-07-26T14:38:08.960Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}

Mitigation
Architecture and Design

Ensure that the admin tool refreshes its model of the underlying OS on a regular basis, and note any inconsistencies with configuration files or other data sources that are expected to have the same data.

No CAPEC attack patterns related to this CWE.