VDB
KO
HIGH 8.3

GHSA-jfqg-hf23-qpw2

Electron: Context Isolation bypass via contextBridge VideoFrame transfer

Details

### Impact Apps that pass `VideoFrame` objects (from the WebCodecs API) across the `contextBridge` are vulnerable to a context isolation bypass. An attacker who can execute JavaScript in the main world (for example, via XSS) can use a bridged `VideoFrame` to gain access to the isolated world, including any Node.js APIs exposed to the preload script.

Apps are only affected if a preload script returns, resolves, or passes a `VideoFrame` object to the main world via `contextBridge.exposeInMainWorld()`. Apps that do not bridge `VideoFrame` objects are not affected.

### Workarounds Do not pass `VideoFrame` objects across `contextBridge`. If an app needs to transfer video frame data, serialize it to an `ArrayBuffer` or `ImageBitmap` before bridging.

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

### For more information If there are any questions or comments about this advisory, please email [security@electronjs.org](mailto:security@electronjs.org)

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / electron
Introduced in: 39.0.0-alpha.1 Fixed in: 39.8.0
Fix npm install electron@39.8.0
npm / electron
Introduced in: 40.0.0-alpha.1 Fixed in: 40.7.0
Fix npm install electron@40.7.0
npm / electron
Introduced in: 41.0.0-alpha.1 Fixed in: 41.0.0-beta.8
Fix npm install electron@41.0.0-beta.8

References