Description
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.6.5 and 8.6.6, protobufjs parsed option names by advancing through schema tokens until reaching an = token without checking for end of input, so a crafted .proto schema that opens an option declaration and ends prematurely can cause parse, Root.load, or Root.loadSync to loop indefinitely. This issue is fixed in versions 7.6.5 and 8.6.6.
Published: 2026-07-08
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

protobufjs was known to parse option names in a .proto file by advancing through tokens until encountering an '=' character, without checking for the end of the input. An attacker can craft a .proto schema that opens an option declaration but ends prematurely, causing the parser, Root.load or Root.loadSync to enter an infinite loop. This infinite loop consumes CPU cycles and can tie up application resources, resulting in a denial‑of‑service condition. The underlying weakness is classified as CWE‑835, an uncontrolled loop condition.

Affected Systems

protobuf.js prior to versions 7.6.5 and 8.6.6 is affected. Any JavaScript or Node.js application that imports protobuf.js and loads .proto files from untrusted sources could be impacted, as the library will attempt to parse the malformed schema and risk resource exhaustion.

Risk and Exploitability

The 5.3 places the issue in the moderate severity range. The EPSS score of < 1% indicates a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is through input supplied to the protobuf.js parser; an attacker would need to deliver a specially crafted .proto file to a loading function. If successful, the infinite loop would tie up CPU resources and potentially interrupt the application, leading to service disruption.

Generated by OpenCVE AI on July 29, 2026 at 13:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update protobuf.js to version 7.6.5 or 8.6.6 or later.
  • Validate all .proto files before passing them to Root.load or Root.loadSync, ensuring options are complete and well‑formed.
  • If patching cannot be applied immediately, disable loading of untrusted .proto files or isolate the parsing operation in a sandboxed process with limited CPU resources.

Generated by OpenCVE AI on July 29, 2026 at 13:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-j3f2-48v5-ccww protobufjs: Denial of Service via infinite loop in .proto option parsing
History

Wed, 22 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

threat_severity

Important


Fri, 10 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
First Time appeared Protobuf
Protobuf protobuf
Vendors & Products Protobuf
Protobuf protobuf

Wed, 08 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 08 Jul 2026 15:45:00 +0000

Type Values Removed Values Added
Description protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.6.5 and 8.6.6, protobufjs parsed option names by advancing through schema tokens until reaching an = token without checking for end of input, so a crafted .proto schema that opens an option declaration and ends prematurely can cause parse, Root.load, or Root.loadSync to loop indefinitely. This issue is fixed in versions 7.6.5 and 8.6.6.
Title protobufjs: Denial of Service via infinite loop in .proto option parsing
Weaknesses CWE-835
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L'}


Subscriptions

Protobuf Protobuf
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-08T15:49:27.814Z

Reserved: 2026-07-07T15:41:53.607Z

Link: CVE-2026-59877

cve-icon Vulnrichment

Updated: 2026-07-08T15:49:24.549Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-08T15:28:07Z

Links: CVE-2026-59877 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T14:00:03Z

Weaknesses
  • CWE-835

    Loop with Unreachable Exit Condition ('Infinite Loop')