Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ CVE-2025-67750 — lightning-flow-scanner

🟠 CVSS 8.4 — High ✅ No Known Exploit CWE-94 NVD
8.4
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Lightning Flow Scanner Vulnerable to Code Injection via Unsafe Use of new Function() in APIVersion Rule

Impact

The APIVersion rule uses new Function() to evaluate expression strings. A malicious crafted flow metadata file can cause arbitrary JavaScript execution during scanning. An attacker could execute arbitrary JavaScript during a scan by supplying a malicious expression within rule configuration or crafted flow metadata. This could compromise developer machines, CI runners, or editor environments.

Patches

The patch removes all uses of new Function() and replaces them with a safer parser. It now validates operators (>, >=, <, <=, ==`) and performs numeric comparisons without evaluating untrusted JavaScript.

version: core-v6.10.6,

version vsx:: v2.4.4

version app:: v3.1.0

Work around

```

// --- Handle APIVersion rule separately to avoid unsafe-eval in the core library ---

const apiVersionConfig = ruleConfig.rules.APIVersion;

if (apiVersionConfig) {

delete ruleConfig.rules.APIVersion;

}

// Manually evaluate the APIVersion rule, if it was configured.

if (apiVersionConfig) {

const flowApiVer = this.currentFlow.apiVersion || this.currentFlow.xmlData?.apiVersion;

const apiVersionRuleDef = allRules.find(r => r.name === "APIVersion");

// Determine the required expression (e.g. ">=58").

let requiredExpr;

if (apiVersionConfig.expression) {

requiredExpr = apiVersionConfig.expression;

} else if (apiVersionConfig.threshold != null) {

requiredExpr = >=${apiVersionConfig.threshold};

}

if (requiredExpr) {

const minVer = parseInt(requiredExpr.replace(/[^0-9]/g, ""), 10);

const operator = requiredExpr.replace(/[0-9]/g, "").trim();

const operators = {

">=": (a, b) => a < b,

"<": (a, b) => a >= b,

">": (a, b) => a <= b,

"<=": (a, b) => a > b,

"==": (a, b) => a !== b,

"=": (a, b) => a !== b

};

const violation = operators[operator] ? operators[operator](flowApiVer, minVer) : flowApiVer < minVer;

if (violation) {

// Craft a result object that mimics the core scanner output so downstream logic remains unchanged.

const manualScanResult = [{

flow: parsedFlow,

ruleResults: [{

ruleName: "APIVersion",

ruleDefinition: {

description: apiVersionRuleDef?.description || "API Version check",

label: apiVersionRuleDef?.label || "APIVersion"

},

occurs: true,

severity: apiVersionConfig.severity,

details: [{

name: String(flowApiVer),

type: "apiVersion",

expression: requiredExpr

}]

}]

}];

results.push(...this.processScanResults(manualScanResult));

}

}

}

```

How this vulnerability can be exploited

This issue can be reached with local access to the system, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality high, integrity high, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

  • Attack vector: Local — a local account, shell or session on the host is needed.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: None — an unauthenticated stranger can try it.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: High — total loss, or loss the attacker controls.
  • Integrity impact: High — total loss, or loss the attacker controls.
  • Availability impact: High — total loss, or loss the attacker controls.

Weakness class

CVE-2025-67750 is classified as CWE-94: Code Injection. Input is incorporated into code that the runtime evaluates, so an attacker can have their own code executed.

Affected software

CVE-2025-67750 is recorded against 2 packages.

  • lightning-flow-scanner
  • unknown

Timeline and source

Published on 12 December 2025 and last revised on 20 December 2025. No public exploit is currently recorded for this entry. Record sourced from NVD.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Package)
github.com (Web)

Same weakness in other software

These advisories are the same class of weakness (CWE-94: Code Injection) in other software:

Details

Severity HIGH
CVSS Score 8.4
CVSS Vector CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CWE CWE-94
Public Exploit ✅ No
Source NVD
Published 2025-12-12
Updated 2026-08-20
Modified 2025-12-20
Fix URL N/A

Affected Packages

Software From version Fixed in
lightning-flow-scanner — —
unknown — —

Site Security Check

Is lightning-flow-scanner part of your stack?

CVE-2025-67750 is rated CVSS 8.4 High. BotEraser scans your installation against known CVE records and tells you whether this vulnerability applies to the versions you actually run.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesCVECVE 2025
✓