A significant security vulnerability, dubbed “Open Sesame,” has been uncovered in Open VSX, the widely utilized extension marketplace for code editors like Cursor and Windsurf, and the broader VS Code fork ecosystem. This flaw allowed malicious extensions to bypass the platform’s newly implemented pre-publish scanning pipeline, appearing to users as if they had successfully passed all security assessments. The vulnerability specifically impacted the integrity of the scanning process before extensions are made available to the public.
The Open VSX platform introduced a pre-publish scanning pipeline with the intention of enhancing security by scrutinizing every extension before its release. This pipeline was designed to detect malware, identify hardcoded secrets, check for suspicious binaries, and prevent name-squatting. Extensions were held in an inactive state until all registered scanners provided approval, ensuring they met the platform’s safety standards before becoming downloadable.
The “Open Sesame” Vulnerability and How it Worked
Researchers from Koi identified that the core of the Open Sesame vulnerability stemmed from a single boolean return value within the scanning code. This value was ambiguously used to signify two distinct scenarios: either no scanners were configured for the extension, or all scanners failed to execute during the process. The system’s inability to differentiate between these states led it to incorrectly interpret a complete scanner failure as a clean, unconfigured state.
Consequently, the platform would mark the extension as “PASSED” and make it available for download, despite no actual security scans having been performed. This exploit did not require special access or insider knowledge; any individual with a free publisher account could trigger the flaw. By overwhelming the publish endpoint with multiple concurrent upload requests, attackers could exhaust the database connection pool.
This exhaustion would cause the scanner jobs to fail during the enqueuing phase. With no successful scans registered, the Open VSX system would incorrectly approve the extension, allowing it to go live. The vulnerability highlights a critical flaw in how the system managed failure states within its security pipeline.
The technical details of the vulnerability are rooted in the `ExtensionScanService.java` and `PublishExtensionVersionHandler.java` files. When the scanning submission method was invoked and all scanner jobs failed to enqueue due to database overload, a value of “false” was returned. The handler file interpreted this “false” as an indication that no scanners were configured, a condition considered normal and safe. Instead of blocking the extension, the system proceeded to call `scanService.markScanPassed()` and immediately activated the extension for public download.
Compounding the issue, the same flawed logic was present in the `ExtensionScanJobRecoveryService.java`, a service designed as a backup mechanism to retry failed scans. This recovery system, intended to enhance security, unfortunately carried the same critical flaw as the primary system it was meant to support.
An attacker could exploit this vulnerability by preparing a batch of malicious `.vsix` extension files and submitting them simultaneously through the publish endpoint. The absence of rate limiting meant that these repeated attempts incurred no cost to the attacker. Each surge of publishing activity would strain the database connection pool until scanner job enqueuing began to fail.
Once scanner job enqueuing failed, the fail-open condition would be triggered, leading to the extension’s release. Crucially, there was no visible indication within the user interface to suggest that any security checks had been skipped or failed. This created a significant blind spot for users and the platform’s administrators regarding the true security posture of published extensions.
Implications and Mitigation for Users and Developers
Users who downloaded or updated extensions from the Open VSX marketplace during the period before the patch on February 11, 2026, are advised to carefully review the extensions they have installed. The Open VSX team responded promptly to the responsible disclosure of the vulnerability, issuing a fix within three days of being notified on February 8, 2026. This rapid response mitigated the ongoing risk posed by the Open Sesame flaw.
Developers creating similar scanning pipelines should prioritize robust error handling. It is crucial to ensure that explicit failure states are always treated distinctly from “nothing to do” or unconfigured states. A single return value should never be used to represent both a deliberate configuration choice and a system-wide error. In the event that a scanner fails to execute, the appropriate response should always be to block the extension, not to approve it.
Additionally, implementing rate limiting on publish endpoints is strongly recommended. This measure can effectively prevent connection pool exhaustion caused by repeated flooding attempts, thereby bolstering the overall security and stability of the platform. The incident serves as a stark reminder of the complexities in securing software supply chains and the need for continuous vigilance and robust security architecture.

