Vulnerability in protobufjs (CVE-2026-48712)
Summary
Vulnerability in protobufjs (CVE-2026-48712). Risk of unauthorized operations or information disclosure. Exploitable via google.protobuf.Any. Mitigation: upgrade to 8.4.1 or later.
Original description
The description as published by the source.
Summary
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.
Impact
An attacker who can provide protobuf binary data decoded by an application may be able to crash the process or otherwise cause message conversion to fail with a stack overflow.
This affects applications that decode untrusted protobuf input containing google.protobuf.Any values and then convert decoded messages to JSON or plain objects with JSON conversion enabled, for example through JSON.stringify(message), Message#toJSON(), or Type.toObject(message, { json: true }).
Applications that only decode and re-encode protobuf binary data without converting decoded messages to JSON are not directly affected by this issue.
Preconditions
- The application must decode protobuf binary data influenced by an attacker.
- The application schema must include
google.protobuf.Any, and the referencedtype_urlmust resolve to a message type in the loaded protobuf root. - The application must convert the decoded message to JSON or a plain object through an affected conversion path.
- The crafted input must contain deeply nested
Anyvalues that are expanded during conversion.
Workarounds…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-48712 has been found in protobufjs.
Attackers can target a specific entry point like google.protobuf.Any over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 7.5/10.
What to do: upgrade protobufjs to 8.4.1 or later.
If unsure, ask your IT team or search "protobufjs CVE-2026-48712" on the vendor's site.
CVE-2026-48712 (protobufjs) — CWE-674 / CVSS v3 7.5
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: google.protobuf.Any / Any / type_url
Patched: 8.4.1 — apply immediately
Workaround: Avoid converting untrusted protobuf messages containing google.protobuf.Any values to JSON with affected versions.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-674) exists in protobufjs. Attackers reach the vulnerable code path via google.protobuf.Any without authentication.
Check the vendor advisory for the affected versions of protobufjs. Attack surface: google.protobuf.Any / Any / type_url.
Severity: High (CVSS 7.5/10). Risk of unauthorized operations or information disclosure.
Update to 8.4.1.
Workaround: Avoid converting untrusted protobuf messages containing google.protobuf.Any values to JSON with affected versions.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'protobufjs' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'protobufjs' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
protobufjsを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
Avoid converting untrusted protobuf messages containing `google.protobuf.Any` values to JSON with affected versions.パッチが適用されるまでの応急処置として、Avoid converting untrusted protobuf messages containing
google.protobuf.Anyvalues to JSON with affected versions. を実施。回避策の副作用 (機能低下) を確認した上で。 -
3Apply patch patch
Upgrade protobufjs to 8.4.1ステージング環境で 8.4.1 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web github.com
- web nvd.nist.gov