AI and data stack advisories

Severe, 6 weeks1496Projects326

1496 severe, 6 weeks · 326 projects

MicrosoftGHSA-qcxw-jfff-cxpc

GitHubCredentialProvider - Regex substring host match sends Basic-auth tokens

Microsoft

CVE-2026-47284 · Published Jun 9, 2026

High
Fix: upgrade to 1.123.1 or later
GitHub advisory

Impact

A security feature bypass vulnerability exists in VS Code's built-in GitHub extension, where GitHubCredentialProvider validated the request host using the unanchored regex /github\.com/i. Because the pattern is a substring match (no ^/$ anchors), hostnames such as github.com.attacker.example or notgithub.com were treated as GitHub and received the signed-in user's token via HTTP Basic authentication. A malicious repository can include a .gitmodules entry pointing to such a host; when the victim runs Git: Clone (Recursive) or git submodule update from inside VS Code, the credential helper sends the GitHub token to the attacker. Note that this overrides Git's own credential lookup (which performs strict host matching) and is not gated by workspace trust because credential delivery happens during the clone step.

Patches

The fix replaces the substring regex with port-stripped, case-insensitive equality against github.com. Available in VS Code 1.123.1.

Workarounds

There is no setting-based workaround. Until upgrade, avoid recursive clones or git submodule update of untrusted repositories from inside VS Code while signed in to GitHub, inspect .gitmodules for suspicious submodule URLs first, or sign out of GitHub when working with untrusted code.

References

  • Public issue:...

Affected versions

PackageAffectedFixed in
vscode
Product
< 1.123.11.123.1
Details and references

### Impact A security feature bypass vulnerability exists in VS Code's built-in GitHub extension, where `GitHubCredentialProvider` validated the request host using the unanchored regex `/github\.com/i`. Because the pattern is a substring match (no `^`/` CVE-2026-47284: Microsoft high vulnerability | Advisories

anchors), hostnames such as `github.com.attacker.example` or `notgithub.com` were treated as GitHub and received the signed-in user's token via HTTP Basic authentication. A malicious repository can include a `.gitmodules` entry pointing to such a host; when the victim runs `Git: Clone (Recursive)` or `git submodule update` from inside VS Code, the credential helper sends the GitHub token to the attacker. Note that this overrides Git's own credential lookup (which performs strict host matching) and is not gated by workspace trust because credential delivery happens during the clone step. ### Patches The fix replaces the substring regex with port-stripped, case-insensitive equality against `github.com`. Available in VS Code **1.123.1**. ### Workarounds There is no setting-based workaround. Until upgrade, avoid recursive clones or `git submodule update` of untrusted repositories from inside VS Code while signed in to GitHub, inspect `.gitmodules` for suspicious submodule URLs first, or sign out of GitHub when working with untrusted code. ### References - Public issue: [#320634](https://github.com/microsoft/vscode/issues/320634) - Patch commit: [`4b6e246`](https://github.com/microsoft/vscode/commit/4b6e2467dbd828018d602f73cc25d1b11f699d2c) - MSRC advisory: [CVE-2026-47284](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47284)

Severity from
GitHub (reviewed advisory)

More Microsoft advisories

All Microsoft
CVE-2026-47284: Microsoft high vulnerability | Advisories

AI and data stack advisories

Severe, 6 weeks1496Projects326

1496 severe, 6 weeks · 326 projects

MicrosoftGHSA-qcxw-jfff-cxpc

GitHubCredentialProvider - Regex substring host match sends Basic-auth tokens

Microsoft

CVE-2026-47284 · Published Jun 9, 2026

High
Fix: upgrade to 1.123.1 or later
GitHub advisory

Impact

A security feature bypass vulnerability exists in VS Code's built-in GitHub extension, where GitHubCredentialProvider validated the request host using the unanchored regex /github\.com/i. Because the pattern is a substring match (no ^/$ anchors), hostnames such as github.com.attacker.example or notgithub.com were treated as GitHub and received the signed-in user's token via HTTP Basic authentication. A malicious repository can include a .gitmodules entry pointing to such a host; when the victim runs Git: Clone (Recursive) or git submodule update from inside VS Code, the credential helper sends the GitHub token to the attacker. Note that this overrides Git's own credential lookup (which performs strict host matching) and is not gated by workspace trust because credential delivery happens during the clone step.

Patches

The fix replaces the substring regex with port-stripped, case-insensitive equality against github.com. Available in VS Code 1.123.1.

Workarounds

There is no setting-based workaround. Until upgrade, avoid recursive clones or git submodule update of untrusted repositories from inside VS Code while signed in to GitHub, inspect .gitmodules for suspicious submodule URLs first, or sign out of GitHub when working with untrusted code.

References

  • Public issue:...

Affected versions

PackageAffectedFixed in
vscode
Product
< 1.123.11.123.1
Details and references

### Impact A security feature bypass vulnerability exists in VS Code's built-in GitHub extension, where `GitHubCredentialProvider` validated the request host using the unanchored regex `/github\.com/i`. Because the pattern is a substring match (no `^`/` CVE-2026-47284: Microsoft high vulnerability | Advisories

anchors), hostnames such as `github.com.attacker.example` or `notgithub.com` were treated as GitHub and received the signed-in user's token via HTTP Basic authentication. A malicious repository can include a `.gitmodules` entry pointing to such a host; when the victim runs `Git: Clone (Recursive)` or `git submodule update` from inside VS Code, the credential helper sends the GitHub token to the attacker. Note that this overrides Git's own credential lookup (which performs strict host matching) and is not gated by workspace trust because credential delivery happens during the clone step. ### Patches The fix replaces the substring regex with port-stripped, case-insensitive equality against `github.com`. Available in VS Code **1.123.1**. ### Workarounds There is no setting-based workaround. Until upgrade, avoid recursive clones or `git submodule update` of untrusted repositories from inside VS Code while signed in to GitHub, inspect `.gitmodules` for suspicious submodule URLs first, or sign out of GitHub when working with untrusted code. ### References - Public issue: [#320634](https://github.com/microsoft/vscode/issues/320634) - Patch commit: [`4b6e246`](https://github.com/microsoft/vscode/commit/4b6e2467dbd828018d602f73cc25d1b11f699d2c) - MSRC advisory: [CVE-2026-47284](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47284)

Severity from
GitHub (reviewed advisory)

More Microsoft advisories

All Microsoft
anchors), hostnames such as `github.com.attacker.example` or `notgithub.com` were treated as GitHub and received the signed-in user's token via HTTP Basic authentication. A malicious repository can include a `.gitmodules` entry pointing to such a host; when the victim runs `Git: Clone (Recursive)` or `git submodule update` from inside VS Code, the credential helper sends the GitHub token to the attacker. Note that this overrides Git's own credential lookup (which performs strict host matching) and is not gated by workspace trust because credential delivery happens during the clone step.\r\n\r\n### Patches\r\n\r\nThe fix replaces the substring regex with port-stripped, case-insensitive equality against `github.com`. Available in VS Code **1.123.1**.\r\n\r\n### Workarounds\r\n\r\nThere is no setting-based workaround. Until upgrade, avoid recursive clones or `git submodule update` of untrusted repositories from inside VS Code while signed in to GitHub, inspect `.gitmodules` for suspicious submodule URLs first, or sign out of GitHub when working with untrusted code.\r\n\r\n### References\r\n\r\n- Public issue: [#320634](https://github.com/microsoft/vscode/issues/320634)\r\n- Patch commit: [`4b6e246`](https://github.com/microsoft/vscode/commit/4b6e2467dbd828018d602f73cc25d1b11f699d2c)\r\n- MSRC advisory: [CVE-2026-47284](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-47284)","vector":"","cvssVersion":"","severitySource":"github","cwes":[],"refs":["https://github.com/microsoft/vscode/security/advisories/GHSA-qcxw-jfff-cxpc","https://github.com/microsoft/vscode"],"affected":[{"product":"microsoft","ecosystem":"Vendor","package":"vscode","introduced":"","fixed":"1.123.1","lastAffected":""}],"changes":[]},"related":[{"id":"CVE-2026-41106","cve":"CVE-2026-41106","aliases":[],"summary":"Url redirection to untrusted site ('open redirect') in M365 Copilot allows an unauthorized attacker to elevate privileges over a network.","title":"Microsoft 365 Copilot: open redirect","severity":"critical","score":9.3,"product":"microsoft","productLabel":"Microsoft 365 Copilot","products":["microsoft"],"fixed":"","fixFirst":"","fixedN":0,"published":"2026-07-02","modified":"2026-07-07","withdrawn":"","url":"https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41106","foundAt":"2026-09-26 01:53:13"},{"id":"CVE-2026-26145","cve":"CVE-2026-26145","aliases":[],"summary":"Improper access control in Azure Synapse allows an authorized attacker to elevate privileges over a network.","title":"Microsoft Azure Synapse: improper access control","severity":"medium","score":4.8,"product":"microsoft","productLabel":"Azure Synapse","products":["microsoft"],"fixed":"","fixFirst":"","fixedN":0,"published":"2026-07-02","modified":"2026-07-07","withdrawn":"","url":"https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-26145","foundAt":"2026-09-26 01:53:13"},{"id":"CVE-2026-50521","cve":"CVE-2026-50521","aliases":[],"summary":"Use after free in Microsoft Edge (Chromium-based) allows an authorized attacker to execute code over a network.","title":"Microsoft Edge (Chromium-based): use after free","severity":"high","score":8.3,"product":"microsoft","productLabel":"Microsoft Edge (Chromium-based)","products":["microsoft"],"fixed":"Microsoft Edge (Chromium-based) 149.0.4022.68","fixFirst":"149.0.4022.68","fixedN":1,"published":"2026-07-01","modified":"2026-07-03","withdrawn":"","url":"https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50521","foundAt":"2026-09-26 01:53:13"},{"id":"GHSA-hgwg-xqr5-q87f","cve":"CVE-2026-47287","aliases":[],"summary":"Path traversal in profile snippets import allows writing files outside the profile directory (Zip-Slip)","title":"Path traversal in profile snippets import allows writing files outside the profile directory (Zip-Slip)","severity":"medium","score":null,"product":"microsoft","productLabel":"","products":["microsoft"],"fixed":"1.123.1","fixFirst":"1.123.1","fixedN":1,"published":"2026-06-09","modified":"2026-06-09","withdrawn":"","url":"https://github.com/microsoft/vscode/security/advisories/GHSA-hgwg-xqr5-q87f","foundAt":"2026-09-26 01:32:43"},{"id":"GHSA-c82g-9gj4-hxp2","cve":"CVE-2026-45482","aliases":[],"summary":"Auto-Approved File Write via Unconfirmed Environment-Variable Path Redirection","title":"Auto-Approved File Write via Unconfirmed Environment-Variable Path Redirection","severity":"low","score":null,"product":"microsoft","productLabel":"","products":["microsoft"],"fixed":"1.123.1","fixFirst":"1.123.1","fixedN":1,"published":"2026-06-09","modified":"2026-06-09","withdrawn":"","url":"https://github.com/microsoft/vscode/security/advisories/GHSA-c82g-9gj4-hxp2","foundAt":"2026-09-26 01:32:43"},{"id":"GHSA-5j3g-c7qg-xfvx","cve":"CVE-2026-47281","aliases":[],"summary":"Unconfirmed Remote Host Connection via Workspace File","title":"Unconfirmed Remote Host Connection via Workspace File","severity":"high","score":null,"product":"microsoft","productLabel":"","products":["microsoft"],"fixed":"1.123.1","fixFirst":"1.123.1","fixedN":1,"published":"2026-06-09","modified":"2026-06-09","withdrawn":"","url":"https://github.com/microsoft/vscode/security/advisories/GHSA-5j3g-c7qg-xfvx","foundAt":"2026-09-26 01:32:43"}]}}