deardaniel/secdata-raw huggingface dataset:
GitHub Security Advisory: GHSA-9wfr-w7mm-pc7f
Package: electron (NPM)
Severity: HIGH (CVSS 7.7)
CWE: CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection'), CWE-912: Hidden Functionality
Vulnerable versions: < 38.8.6
Patched in: 38.8.6

Summary: Electron: Renderer command-line switch injection via undocumented commandLineSwitches webPreference

Details:
### Impact
An undocumented `commandLineSwitches` webPreference allowed arbitrary switches to be appended to the renderer process command line. Apps that construct `webPreferences` by spreading untrusted configuration objects may inadvertently allow an attacker to inject switches that disable renderer sandboxing or web security controls.

Apps are only affected if they construct `webPreferences` from external or untrusted input without an allowlist. Apps that use a fixed, hardcoded `webPreferences` object are not affected.

### Workarounds
Do not spread untrusted input into `webPreferences`. Use an explicit allowlist of permitted preference keys when constructing `BrowserWindow` or `webContents` options from external configuration.

### Fixed Versions
* `41.0.0-beta.8`
* `40.7.0`
* `39.8.0`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-jfqx-fxh3-c62j
Package: electron (NPM)
Severity: LOW (CVSS 3.9)
CWE: CWE-428: Unquoted Search Path or Element
Vulnerable versions: >= 41.0.0-alpha.1, < 41.0.0-beta.8
Patched in: 41.0.0-beta.8

Summary: Electron: Unquoted executable path in app.setLoginItemSettings on Windows

Details:
### Impact
On Windows, `app.setLoginItemSettings({openAtLogin: true})` wrote the executable path to the `Run` registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.

On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location.

### Workarounds
Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes.

### Fixed Versions
* `41.0.0-beta.8`
* `40.8.0`
* `39.8.1`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-jfqx-fxh3-c62j
Package: electron (NPM)
Severity: LOW (CVSS 3.9)
CWE: CWE-428: Unquoted Search Path or Element
Vulnerable versions: >= 40.0.0-alpha.1, < 40.8.0
Patched in: 40.8.0

Summary: Electron: Unquoted executable path in app.setLoginItemSettings on Windows

Details:
### Impact
On Windows, `app.setLoginItemSettings({openAtLogin: true})` wrote the executable path to the `Run` registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.

On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location.

### Workarounds
Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes.

### Fixed Versions
* `41.0.0-beta.8`
* `40.8.0`
* `39.8.1`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-jfqx-fxh3-c62j
Package: electron (NPM)
Severity: LOW (CVSS 3.9)
CWE: CWE-428: Unquoted Search Path or Element
Vulnerable versions: >= 39.0.0-alpha.1, < 39.8.1
Patched in: 39.8.1

Summary: Electron: Unquoted executable path in app.setLoginItemSettings on Windows

Details:
### Impact
On Windows, `app.setLoginItemSettings({openAtLogin: true})` wrote the executable path to the `Run` registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.

On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location.

### Workarounds
Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes.

### Fixed Versions
* `41.0.0-beta.8`
* `40.8.0`
* `39.8.1`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-jfqx-fxh3-c62j
Package: electron (NPM)
Severity: LOW (CVSS 3.9)
CWE: CWE-428: Unquoted Search Path or Element
Vulnerable versions: < 38.8.6
Patched in: 38.8.6

Summary: Electron: Unquoted executable path in app.setLoginItemSettings on Windows

Details:
### Impact
On Windows, `app.setLoginItemSettings({openAtLogin: true})` wrote the executable path to the `Run` registry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.

On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location.

### Workarounds
Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes.

### Fixed Versions
* `41.0.0-beta.8`
* `40.8.0`
* `39.8.1`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-4p4r-m79c-wq3v
Package: electron (NPM)
Severity: MODERATE (CVSS 5.9)
CWE: CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Vulnerable versions: >= 41.0.0-alpha.1, < 41.0.3
Patched in: 41.0.3

Summary: Electron: HTTP Response Header Injection in custom protocol handlers and webRequest

Details:
### Impact
Apps that register custom protocol handlers via `protocol.handle()` / `protocol.registerSchemesAsPrivileged()` or modify response headers via `webRequest.onHeadersReceived` may be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value.

An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls.

Apps that do not reflect external input into response headers are not affected.

### Workarounds
Validate or sanitize any untrusted input before including it in a response header name or value.

### Fixed Versions
* `41.0.3`
* `40.8.3`
* `39.8.3`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-4p4r-m79c-wq3v
Package: electron (NPM)
Severity: MODERATE (CVSS 5.9)
CWE: CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Vulnerable versions: >= 40.0.0-alpha.1, < 40.8.3
Patched in: 40.8.3

Summary: Electron: HTTP Response Header Injection in custom protocol handlers and webRequest

Details:
### Impact
Apps that register custom protocol handlers via `protocol.handle()` / `protocol.registerSchemesAsPrivileged()` or modify response headers via `webRequest.onHeadersReceived` may be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value.

An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls.

Apps that do not reflect external input into response headers are not affected.

### Workarounds
Validate or sanitize any untrusted input before including it in a response header name or value.

### Fixed Versions
* `41.0.3`
* `40.8.3`
* `39.8.3`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-4p4r-m79c-wq3v
Package: electron (NPM)
Severity: MODERATE (CVSS 5.9)
CWE: CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Vulnerable versions: >= 39.0.0-alpha.1, < 39.8.3
Patched in: 39.8.3

Summary: Electron: HTTP Response Header Injection in custom protocol handlers and webRequest

Details:
### Impact
Apps that register custom protocol handlers via `protocol.handle()` / `protocol.registerSchemesAsPrivileged()` or modify response headers via `webRequest.onHeadersReceived` may be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value.

An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls.

Apps that do not reflect external input into response headers are not affected.

### Workarounds
Validate or sanitize any untrusted input before including it in a response header name or value.

### Fixed Versions
* `41.0.3`
* `40.8.3`
* `39.8.3`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-4p4r-m79c-wq3v
Package: electron (NPM)
Severity: MODERATE (CVSS 5.9)
CWE: CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection'), CWE-113: Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')
Vulnerable versions: < 38.8.6
Patched in: 38.8.6

Summary: Electron: HTTP Response Header Injection in custom protocol handlers and webRequest

Details:
### Impact
Apps that register custom protocol handlers via `protocol.handle()` / `protocol.registerSchemesAsPrivileged()` or modify response headers via `webRequest.onHeadersReceived` may be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value.

An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls.

Apps that do not reflect external input into response headers are not affected.

### Workarounds
Validate or sanitize any untrusted input before including it in a response header name or value.

### Fixed Versions
* `41.0.3`
* `40.8.3`
* `39.8.3`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-9899-m83m-qhpj
Package: electron (NPM)
Severity: LOW (CVSS 3.3)
CWE: CWE-862: Missing Authorization
Vulnerable versions: >= 41.0.0-alpha.1, < 41.0.0-beta.8
Patched in: 41.0.0-beta.8

Summary: Electron: USB device selection not validated against filtered device list

Details:
### Impact
The `select-usb-device` event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested `filters` or was listed in `exclusionFilters`.

The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.

### Workarounds
There are no app side workarounds, you must update to a patched version of Electron.

### Fixed Versions
* `41.0.0-beta.8`
* `40.7.0`
* `39.8.0`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-9899-m83m-qhpj
Package: electron (NPM)
Severity: LOW (CVSS 3.3)
CWE: CWE-862: Missing Authorization
Vulnerable versions: >= 40.0.0-alpha.1, < 40.7.0
Patched in: 40.7.0

Summary: Electron: USB device selection not validated against filtered device list

Details:
### Impact
The `select-usb-device` event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested `filters` or was listed in `exclusionFilters`.

The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.

### Workarounds
There are no app side workarounds, you must update to a patched version of Electron.

### Fixed Versions
* `41.0.0-beta.8`
* `40.7.0`
* `39.8.0`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-9899-m83m-qhpj
Package: electron (NPM)
Severity: LOW (CVSS 3.3)
CWE: CWE-862: Missing Authorization
Vulnerable versions: >= 39.0.0-alpha.1, < 39.8.0
Patched in: 39.8.0

Summary: Electron: USB device selection not validated against filtered device list

Details:
### Impact
The `select-usb-device` event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested `filters` or was listed in `exclusionFilters`.

The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.

### Workarounds
There are no app side workarounds, you must update to a patched version of Electron.

### Fixed Versions
* `41.0.0-beta.8`
* `40.7.0`
* `39.8.0`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-9899-m83m-qhpj
Package: electron (NPM)
Severity: LOW (CVSS 3.3)
CWE: CWE-862: Missing Authorization
Vulnerable versions: < 38.8.6
Patched in: 38.8.6

Summary: Electron: USB device selection not validated against filtered device list

Details:
### Impact
The `select-usb-device` event callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requested `filters` or was listed in `exclusionFilters`.

The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.

### Workarounds
There are no app side workarounds, you must update to a patched version of Electron.

### Fixed Versions
* `41.0.0-beta.8`
* `40.7.0`
* `39.8.0`
* `38.8.6`

### For more information
If there are any questions or comments about this advisory, send an email to [security@electronjs.org](mailto:security@electronjs.org)
GitHub Security Advisory: GHSA-ccgf-5rwj-j3hv
Package: telejson (NPM)
Severity: LOW (CVSS 0.0)
CWE: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Vulnerable versions: < 6.0.0
Patched in: 6.0.0

Summary: TeleJSON: DOM XSS via unsanitised constructor name in `new Function()`

Details:
## Summary
 
telejson versions prior to 6.0.0 (released 2022) are vulnerable to DOM-based Cross-Site Scripting (XSS) through unsafe deserialisation. Attacker-controlled input from the `_constructor-name_` property in parsed JSON is passed directly to `new Function()` without sanitisation, allowing arbitrary JavaScript execution.
 
## Affected versions
 
| Package  | Affected  | Fixed    |
|----------|-----------|----------|
| telejson | < 6.0.0   | >= 6.0.0 |
 
 
## Details
 
telejson's `parse()` function uses a custom reviver to reconstruct JavaScript objects from serialised JSON. When processing objects with a `_constructor-name_` property, the reviver passes the constructor name directly to `new Function()` to recreate the object's prototype.
 
In versions prior to 6.0.0, this constructor name is not sanitised. An attacker who can deliver a crafted JSON payload to `telejson.parse()` (for example, via `postMessage` in applications that use telejson for cross-frame communication) can inject arbitrary JavaScript into the `new Function()` call.
 
**Vulnerable code** ([`src/index.ts`, lines 293-299 at v5.3.3](https://github.com/storybookjs/telejson/blob/v5.3.3/src/index.ts#L293-L299)):
 
```ts
if (isObject<ValueContainer>(value) && value['_constructor-name_']) {
  const name = value['_constructor-name_'];
  if (name !== 'Object') {
    const Fn = new Function(`return function ${name}(){}`)();
    Object.setPrototypeOf(value, new Fn());
  }
```
 
**Fixed code** ([`src/index.ts`, lines 340-346 at v6.0.0](https://github.com/storybookjs/telejson/blob/v6.0.0/src/index.ts#L340-L346)):
 
```ts
if (isObject<ValueContainer>(value) && value['_constructor-name_'] && options.allowFunction) {
  const name = value['_constructor-name_'];
  if (name !== 'Object') {
    const Fn = new Function(`return function ${name.replace(/[\W_]+/g, '')}(){}`)();
    Object.setPrototypeOf(value, new Fn());
  }
```
 
The fix introduces two mitigations: a character allowlist via regex that strips non-word characters before they reach `new Function()`, and gating the entire code path behind the `allowFunction` option.
 
## Impact
 
An attacker can execute arbitrary JavaScript in the context of the application using the vulnerable telejson version. Depending on the application, this could enable session hijacking, credential theft, or arbitrary DOM manipulation.
 
## Remediation
 
Upgrade to telejson >= 6.0.0.
GitHub Security Advisory: GHSA-cwq8-6f96-g3q4
Package: openclaw (NPM)
Severity: LOW (CVSS 4.6)
CWE: CWE-636: Not Failing Securely ('Failing Open'), CWE-754: Improper Check for Unusual or Exceptional Conditions
Vulnerable versions: <= 2026.3.28
Patched in: 2026.3.31

Summary: OpenClaw: Security Scan Failure Does Not Block Plugin Installation (Fail-Open)

Details:
## Summary
Security Scan Failure Does Not Block Plugin Installation (Fail-Open)

## Current Maintainer Triage
- Status: open
- Normalized severity: low
- Assessment: Real in shipped v2026.3.28 plugin install flow, but low severity fits because it still requires an operator to choose installation of an untrusted package and the scan failure was visible rather than silent.

## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published npm version: `2026.3.31`
- Vulnerable version range: `<=2026.3.28`
- Patched versions: `>= 2026.3.31`
- First stable tag containing the fix: `v2026.3.31`

## Fix Commit(s)
- `7a953a52271b9188a5fa830739a4366614ff9916` — 2026-03-30T15:36:08+01:00
- `44b[PII_REDACTED]80d46a5b88190e46669fc13d669` — 2026-03-31T23:16:11+09:00
- `0d7f1e2c84eca65df7dee890d9c30e2a841c030a` — 2026-03-31T23:27:20+09:00
- `bf96c67fd1954740aeabfadc7cfe3098bcfc6b68` — 2026-03-31T15:53:29+01:00

OpenClaw thanks @davidluzsilva for reporting.
GitHub Security Advisory: GHSA-fv94-qvg8-xqpw
Package: openclaw (NPM)
Severity: HIGH (CVSS 8.1)
CWE: CWE-59: Improper Link Resolution Before File Access ('Link Following'), CWE-61: UNIX Symbolic Link (Symlink) Following
Vulnerable versions: <= 2026.3.28
Patched in: 2026.3.31

Summary: OpenClaw: SSH sandbox tar upload follows symlinks, enabling arbitrary file write on remote host

Details:
## Summary
SSH sandbox tar upload follows symlinks, enabling arbitrary file write on remote host

## Current Maintainer Triage
- Status: open
- Normalized severity: high
- Assessment: Real in shipped v2026.3.28: SSH sandbox tar upload lacked pre-upload symlink escape rejection until 3d5af14984 on 2026-03-31; maintainers already accepted it and the fix is unreleased.

## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published npm version: `2026.3.31`
- Vulnerable version range: `<=2026.3.28`
- Patched versions: `>= 2026.3.31`
- First stable tag containing the fix: `v2026.3.31`

## Fix Commit(s)
- `3d5af14984ac1976c747a8e11581d697bd0829dc` — 2026-03-31T19:56:45+09:00

OpenClaw thanks @AntAISecurityLab for reporting.
GitHub Security Advisory: GHSA-9q7v-8mr7-g23p
Package: openclaw (NPM)
Severity: MODERATE (CVSS 6.3)
CWE: CWE-918: Server-Side Request Forgery (SSRF)
Vulnerable versions: <= 2026.3.28
Patched in: 2026.3.31

Summary: OpenClaw: SSRF via Unguarded `fetch()` in Marketplace Plugin Download and Ollama Model Discovery

Details:
## Summary
SSRF via Unguarded `fetch()` in Marketplace Plugin Download and Ollama Model Discovery

## Current Maintainer Triage
- Status: narrow
- Normalized severity: medium
- Assessment: Keep the shipped marketplace archive-fetch SSRF, but narrow out the Ollama half because it is operator-configured and overlaps weaker trust-model or duplicate SSRF ground.

## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published npm version: `2026.3.31`
- Vulnerable version range: `<=2026.3.28`
- Patched versions: `>= 2026.3.31`
- First stable tag containing the fix: `v2026.3.31`

## Fix Commit(s)
- `8deb9522f3d[PII_REDACTED]b190adb4a2a52f3670b` — 2026-03-30T20:08:38+01:00

OpenClaw thanks @tdjackey for reporting.
GitHub Security Advisory: GHSA-j9pv-rrcj-6pfx
Package: openclaw (NPM)
Severity: MODERATE (CVSS 0.0)
CWE: CWE-212: Improper Removal of Sensitive Information Before Storage or Transfer
Vulnerable versions: <= 2026.3.28
Patched in: 2026.3.31

Summary: OpenClaw: SSH-based sandbox backends pass unsanitized process.env to child processes

Details:
## Summary
SSH-based sandbox backends pass unsanitized process.env to child processes

## Current Maintainer Triage
- Status: narrow
- Normalized severity: low
- Assessment: Shipped SSH sandbox paths leaked unsanitized env into local SSH child processes, but remote leakage needs non-default SSH env forwarding, so lower to low.

## Affected Packages / Versions
- Package: `openclaw` (npm)
- Latest published npm version: `2026.3.31`
- Vulnerable version range: `<=2026.3.28`
- Patched versions: `>= 2026.3.31`
- First stable tag containing the fix: `v2026.3.31`

## Fix Commit(s)
- `cfe14459531e002a1c61c27d97ec7dc8aecddc1f` — 2026-03-30T20:05:57+01:00

OpenClaw thanks @AntAISecurityLab for reporting.