protobufjs-cli: Code injection in pbjs static output from crafted JSON descriptor names
High severity
GitHub Reviewed
Published
Jun 12, 2026
in
protobufjs/protobuf.js
•
Updated Jul 15, 2026
Package
Affected versions
<= 1.3.1
>= 2.0.0, <= 2.4.2
Patched versions
1.3.2
2.5.0
Description
Published to the GitHub Advisory Database
Jun 15, 2026
Reviewed
Jun 15, 2026
Published by the National Vulnerability Database
Jun 22, 2026
Last updated
Jul 15, 2026
Summary
A previous fix for unsafe name handling in
pbjsstatic / static-module code generation was incomplete. Affected versions ofprotobufjs-clicould still emit unsafe JavaScript references when generating static output from crafted JSON descriptor input. The common case of parsing schemas from.protofiles is not affected.This is a bypass of GHSA-6r35-46g8-jcw9 / CVE-2026-44295.
Impact
An attacker who can provide or influence pre-parsed JSON descriptors passed to
pbjsstatic code generation may be able to cause generated JavaScript output to contain attacker-controlled code.The injected code may execute if the generated file is later executed or imported and an affected generated API path is invoked.
Preconditions
pbjsstatic code generation on a pre-parsed JSON descriptor influenced by an attacker.Workarounds
Do not run affected versions of
pbjsstatic or static-module generation on untrusted JSON descriptors. If untrusted JSON descriptors must be accepted, validate descriptor-derived names before code generation and reject names that could not have been produced by parsing a valid.protofile. Running code generation in an isolated environment can reduce impact.References