VYPR
Unrated severityNVD Advisory· Published Jun 27, 2025· Updated Jul 2, 2025

CVE-2025-6705

CVE-2025-6705

Description

A vulnerability in the Eclipse Open VSX Registry’s automated publishing system could have allowed unauthorized uploads of extensions. Specifically, the system’s build scripts were executed without proper isolation, potentially exposing a privileged token. This token enabled the publishing of new extension versions under any namespace, including those not controlled by an attacker. However, it did not permit deletion of existing extensions, overwriting of published versions, or access to administrative features of the registry.

The issue was reported on May 4, 2025, fully resolved by June 24, and followed by a comprehensive audit. No evidence of compromise was found, though 81 extensions were proactively deactivated as a precaution. The standard publishing process remained unaffected. Recommendations have been issued to mitigate similar risks in the future.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Affected products

2

Patches

Vulnerability mechanics

Root cause

"The automated publishing system executed untrusted extension build scripts in a child process that inherited the privileged OVSX_PAT environment variable, allowing token theft."

Attack vector

An attacker submits a malicious extension to the Open VSX Registry's automated build pipeline. The pipeline executes the extension's custom build commands (`extension.custom`) or prepublish scripts (`extension.prepublish`) via `exec()` in `build-extension.js` [patch_id=6639772]. Because the build script runs as a child process that inherits the full environment of the parent `publish-extensions.js` process, the attacker's code can read `process.env.OVSX_PAT` — the token that authorizes publishing under any namespace. With this token, the attacker can publish new versions of any extension on the registry, including extensions they do not own. The token does not allow deletion, overwriting of existing versions, or access to administrative features.

Affected code

The vulnerability resides in the automated publishing pipeline of the Eclipse Open VSX Registry. The `scripts/publish-extensions.js` file spawned `publish-extension.js` as a child process using `cp.spawn()`, passing the full extension and context object (including the `OVSX_PAT` token) via `process.argv[2]`. The `scripts/build-extension.js` file (formerly `publish-extension.js`) performed the actual build and publish steps, including reading `process.env.OVSX_PAT` to authenticate the publish call. Because the child process inherited the parent's environment, a malicious extension's build scripts (`extension.custom`, `extension.prepublish`) could access the privileged token through environment variables or process arguments.

What the fix does

The patch [patch_id=6639772] restructures the publishing pipeline to use separate CI jobs instead of spawning `publish-extension.js` as a child process. Previously, `publish-extensions.js` called `cp.spawn(process.execPath, ['publish-extension.js', JSON.stringify({extension, context, extensions})], ...)`, which passed the full context (including the token-bearing environment) to a child process that executed untrusted extension build scripts. The fix moves the build logic into `build-extension.js` as an exported module and has `publish-extensions.js` call it directly via `require()` rather than via a subprocess. This eliminates the environment inheritance path that allowed extension build scripts to access `OVSX_PAT`. Additionally, the publish step (which requires the token) is now performed in a separate CI job that never runs untrusted extension code.

Preconditions

  • inputAttacker must submit an extension with custom build commands (extension.custom) or prepublish scripts (extension.prepublish) that will be executed by the pipeline.
  • configThe pipeline must be configured with the OVSX_PAT environment variable set (the privileged publishing token).

Generated on Jun 19, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

2

News mentions

0

No linked articles in our index yet.