Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.6.1 and 8.4.1, protobufjs could recurse without a depth limit while converting decoded messages to plain objects or JSON. This affected generated toObject() conversion and the custom google.protobuf.Any JSON conversion path. A crafted protobuf binary payload containing deeply nested Any values could cause the JavaScript call stack to be exhausted during conversion to JSON. This vulnerability is fixed in 7.6.1 and 8.4.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| protobufjs | protobuf.js | < 7.6.1, >= 8.0.0, < 8.4.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | langfuse-3 +1 | 3.188.0-r0 | — |
| Wolfi rolling | langfuse-3-compat | 3.225.7-r6 | — |
| Wolfi rolling | pulumi-language-nodejs | 3.246.0-r1 | — |
| Wolfi rolling | vitess-24 | 24.0.1-r4 | — |
| Wolfi rolling | vitess-24-compat | 24.0.3-r7 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | protobufjs | < 7.6.1 | 7.6.1 | GHSA-wcpc-wj8m-hjx6 |
| npm | protobufjs | >= 8.0.0, < 8.4.1 | 8.4.1 | GHSA-wcpc-wj8m-hjx6 |