FKIE_CVE-2026-34777
Vulnerability from fkie_nvd - Published: 2026-04-04 00:16 - Updated: 2026-07-24 22:10
Severity
Summary
Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, when an iframe requests fullscreen, pointerLock, keyboardLock, openExternal, or media permissions, the origin passed to session.setPermissionRequestHandler() was the top-level page's origin rather than the requesting iframe's origin. Apps that grant permissions based on the origin parameter or webContents.getURL() may inadvertently grant permissions to embedded third-party content. The correct requesting URL remains available via details.requestingUrl. Apps that already check details.requestingUrl are not affected. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0.
References
Impacted products
| Vendor | Product | Version | |
|---|---|---|---|
| electronjs | electron | * | |
| electronjs | electron | * | |
| electronjs | electron | * | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 | |
| electronjs | electron | 41.0.0 |
{
"affected": [
{
"affectedData": [
{
"product": "electron",
"vendor": "electron",
"versions": [
{
"status": "affected",
"version": "\u003c 38.8.6"
},
{
"status": "affected",
"version": "\u003e= 39.0.0-alpha.1, \u003c 39.8.1"
},
{
"status": "affected",
"version": "\u003e= 40.0.0-alpha.1, \u003c 40.8.1"
},
{
"status": "affected",
"version": "\u003e= 41.0.0-alpha.1, \u003c 41.0.0"
}
]
}
],
"source": "security-advisories@github.com"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "9CE003A2-03CC-4355-AA17-2CBD204EC6C3",
"versionEndExcluding": "38.8.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "8F28D187-306E-4C9D-ADED-56DD79B04AF3",
"versionEndExcluding": "39.8.1",
"versionStartIncluding": "39.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "A8E19E38-B08F-4075-A564-E14DC3F54078",
"versionEndExcluding": "40.8.1",
"versionStartIncluding": "40.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha1:*:*:*:node.js:*:*",
"matchCriteriaId": "A20225D6-F435-4D09-962D-B162F521B6AD",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha2:*:*:*:node.js:*:*",
"matchCriteriaId": "33712802-EB60-4E9A-83B8-9F2320B70CB4",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha3:*:*:*:node.js:*:*",
"matchCriteriaId": "9D0A9142-54FE-47BB-9FEB-5E97528E28FE",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha4:*:*:*:node.js:*:*",
"matchCriteriaId": "9E1D191F-DEAE-4DB3-9822-F31AF9FE3BAC",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha5:*:*:*:node.js:*:*",
"matchCriteriaId": "45A8192F-3D2C-4987-9BBE-7ECC3F71965D",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:alpha6:*:*:*:node.js:*:*",
"matchCriteriaId": "EEA1A2E5-03DB-46CB-8427-7F31A8A7CE1C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta1:*:*:*:node.js:*:*",
"matchCriteriaId": "B2DFCE75-BD3F-4537-B5B8-14097E262EA2",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta2:*:*:*:node.js:*:*",
"matchCriteriaId": "BC346E25-EA43-4615-8CDB-16D15D46E4FF",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta3:*:*:*:node.js:*:*",
"matchCriteriaId": "FA5B3C00-CAFC-4995-BF35-9920F3039E77",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta4:*:*:*:node.js:*:*",
"matchCriteriaId": "3672F3FB-6B5E-40FD-8A92-CB4DD6BC6A93",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta5:*:*:*:node.js:*:*",
"matchCriteriaId": "9EE4F8AE-21D2-4815-85B7-B7ECCC0D5059",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta6:*:*:*:node.js:*:*",
"matchCriteriaId": "D195760C-7DD9-4259-9042-EDE65AEAC1D6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta7:*:*:*:node.js:*:*",
"matchCriteriaId": "B370859F-24D3-4B25-B580-1A5B6DB94BFE",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:electronjs:electron:41.0.0:beta8:*:*:*:node.js:*:*",
"matchCriteriaId": "7F47CFAE-9744-4B54-B7E4-BB8E4346FDBA",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Electron is a framework for writing cross-platform desktop applications using JavaScript, HTML and CSS. Prior to versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0, when an iframe requests fullscreen, pointerLock, keyboardLock, openExternal, or media permissions, the origin passed to session.setPermissionRequestHandler() was the top-level page\u0027s origin rather than the requesting iframe\u0027s origin. Apps that grant permissions based on the origin parameter or webContents.getURL() may inadvertently grant permissions to embedded third-party content. The correct requesting URL remains available via details.requestingUrl. Apps that already check details.requestingUrl are not affected. This issue has been patched in versions 38.8.6, 39.8.1, 40.8.1, and 41.0.0."
},
{
"lang": "es",
"value": "Electron es un framework para escribir aplicaciones de escritorio multiplataforma usando JavaScript, HTML y CSS. Antes de las versiones 38.8.6, 39.8.1, 40.8.1 y 41.0.0, cuando un iframe solicitaba permisos de fullscreen, pointerLock, keyboardLock, openExternal o media, el origen pasado a sesi\u00f3n.setPermissionRequestHandler() era el origen de la p\u00e1gina de nivel superior en lugar del origen del iframe solicitante. Las aplicaciones que otorgan permisos bas\u00e1ndose en el par\u00e1metro de origen o webContents.getURL() pueden otorgar permisos inadvertidamente a contenido de terceros incrustado. La URL solicitante correcta permanece disponible a trav\u00e9s de details.requestingUrl. Las aplicaciones que ya verifican details.requestingUrl no se ven afectadas. Este problema ha sido parcheado en las versiones 38.8.6, 39.8.1, 40.8.1 y 41.0.0."
}
],
"id": "CVE-2026-34777",
"lastModified": "2026-07-24T22:10:00.140",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 5.4,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"privilegesRequired": "NONE",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N",
"version": "3.1"
},
"exploitabilityScore": 2.8,
"impactScore": 2.5,
"source": "security-advisories@github.com",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-34777",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-04-06T15:32:48.135022Z",
"version": "2.0.3"
}
}
]
},
"published": "2026-04-04T00:16:18.907",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://github.com/electron/electron/security/advisories/GHSA-r5p7-gp4j-qhrx"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-346"
}
],
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…