Description
vscode-spell-checker is a basic spell checker that works well with code and documents. Prior to v4.5.4, DocumentSettings._determineIsTrusted treats the configuration value cSpell.trustedWorkspace as the authoritative trust flag. The value defaults to true (package.json) and is read from workspace configuration each time settings are fetched. The code coerces any truthy value to true and forwards it to ConfigLoader.setIsTrusted , which in turn allows JavaScript/TypeScript configuration files ( .cspell.config.js/.mjs/.ts , etc.) to be located and executed. Because no VS Code workspace-trust state is consulted, an untrusted workspace can keep the flag true and place a malicious .cspell.config.js ; opening the workspace causes the extension host to execute attacker-controlled Node.js code with the user’s privileges. This vulnerability is fixed in v4.5.4.
Problem types
CWE-276: Incorrect Default Permissions
CWE-807: Reliance on Untrusted Inputs in a Security Decision
CWE-829: Inclusion of Functionality from Untrusted Control Sphere
Product status
References
github.com/...hecker/security/advisories/GHSA-mggq-68mr-58vj
github.com/...ommit/f39af9a3a6f2a939a57171a24161ed735d41c575
drive.google.com/...HU6NFfKwekysydAd3FUAC6K/view?usp=sharing
github.com/...checker/releases/tag/code-spell-checker-v4.5.4