Electron: Use-after-free in offscreen shared texture release() callback
🔗 CVE IDs covered (1)
📋 Description
Impact
Apps that use offscreen rendering with GPU shared textures may be vulnerable to a use-after-free. Under certain conditions, the release() callback provided on a paint event texture can outlive its backing native state, and invoking it after that point dereferences freed memory in the main process, which may lead to a crash or memory corruption.
Apps are only affected if they use offscreen rendering with webPreferences.offscreen: { useSharedTexture: true }. Apps that do not enable shared-texture offscreen rendering are not affected.
Workarounds
Ensure texture.release() is called promptly after the texture has been consumed, before the texture object becomes unreachable.
Fixed Versions
42.0.0-alpha.541.1.040.8.539.8.5
For more information
If there are any questions or comments about this advisory, send an email to [email protected]
🎯 Affected products4
- npm/electron:>= 33.0.0-alpha.1, < 39.8.5
- npm/electron:>= 40.0.0-alpha.1, < 40.8.5
- npm/electron:>= 41.0.0-alpha.1, < 41.1.0
- npm/electron:>= 42.0.0-alpha.1, < 42.0.0-alpha.5