# CVE-2022-36077: Electron subject to Exfiltration of hashed SMB credentials on Windows via file:// redirect

> Attackers can exfiltrate hashed SMB credentials from Windows users by exploiting a delay in file:// URL redirect checks within the Electron framework.

- **Severity:** High 7.2 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:L`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 8 Nov 2022
- **Updated:** 23 Apr 2025
- **Also known as:** GHSA-p2jh-44qj-pf2v

## What is CVE-2022-36077?

CVE-2022-36077 is a high-severity vulnerability in Electronjs Electron, published on 8 Nov 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

The Electron framework enables writing cross-platform desktop applications using JavaScript, HTML and CSS. In versions prior to 21.0.0-beta.1, 20.0.1, 19.0.11, and 18.3.7, Electron is vulnerable to Exposure of Sensitive Information. When following a redirect, Electron delays a check for redirecting to file:// URLs from other schemes. The contents of the file is not available to the renderer following the redirect, but if the redirect target is a SMB URL such as `file://some.website.com/`, then in some cases, Windows will connect to that server and attempt NTLM authentication, which can include sending hashed credentials.This issue has been patched in versions: 21.0.0-beta.1, 20.0.1, 19.0.11, and 18.3.7. Users are recommended to upgrade to the latest stable version of Electron. If upgrading isn't possible, this issue can be addressed without upgrading by preventing redirects to file:// URLs in the `WebContents.on('will-redirect')` event, for all WebContents as a workaround.

Weakness: CWE-522 (Insufficiently Protected Credentials), CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)

## Which versions are affected by CVE-2022-36077?

6 open source packages ship an affected version, including electron. It affects 1 product.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `electron` | npm | All versions | 18.3.7 |
| `electron` | npm | All versions | 18.3.7 |
| `electron` | npm | From 19.0.0-beta.1 | 19.0.11 |
| `electron` | npm | From 19.0.0-beta.1 | 19.0.11 |
| `electron` | npm | From 20.0.0-beta.1 | 20.0.1 |
| `electron` | npm | From 20.0.0-beta.1 | 20.0.1 |

Products: Electronjs Electron.

## How do I fix CVE-2022-36077?

Upgrade electron to a fixed version for your release line: 18.3.7, 19.0.11 or 20.0.1.

## Is CVE-2022-36077 being exploited?

There is no known exploitation of CVE-2022-36077 in the wild and no public exploit code.

## Other vulnerabilities in Electronjs Electron

- [CVE-2017-16151](https://insights.sbomify.com/CVE-2017-16151/): Chromium Remote Code Execution in electron (critical 9.8)
- [CVE-2018-1000118](https://insights.sbomify.com/CVE-2018-1000118/): Electron protocol handler browser vulnerable to Command Injection (high 8.8)
- [CVE-2026-34780](https://insights.sbomify.com/CVE-2026-34780/): Electron: Context Isolation bypass via contextBridge VideoFrame transfer (high 8.4)
- [CVE-2026-102676](https://insights.sbomify.com/CVE-2026-102676/): Electron: <webview> can enable Node.js integration in Web Workers despite embedder restrictions (high 8.3)
- [CVE-2026-102673](https://insights.sbomify.com/CVE-2026-102673/): Electron drops inherited HTML sandbox restrictions for popups opened through OpenURLFromTab (high 8.2)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2022-36077 and fix it if it is affected.

What it is: CVE-2022-36077 is a high-severity vulnerability in Electronjs Electron, published on 8 Nov 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2022-36077 in the wild and no public exploit code.

Affected packages and fixed versions:
- electron (npm): affected all versions; fixed in 18.3.7
- electron (npm): affected all versions; fixed in 18.3.7
- electron (npm): affected from 19.0.0-beta.1; fixed in 19.0.11
- electron (npm): affected from 19.0.0-beta.1; fixed in 19.0.11
- electron (npm): affected from 20.0.0-beta.1; fixed in 20.0.1
- electron (npm): affected from 20.0.0-beta.1; fixed in 20.0.1

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2022-36077/ (Markdown: https://insights.sbomify.com/CVE-2022-36077/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2022-36077
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-36077
- OSV: https://osv.dev/vulnerability/CVE-2022-36077

---
From sbomify Insights: https://insights.sbomify.com/CVE-2022-36077/
Summaries are generated and may contain mistakes; the official description above is the record.
