CVE-2026-44289: protobufjs: Denial of service through unbounded protobuf recursion
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs could recurse without a depth limit while decoding nested protobuf data. This affected both skipping unknown group fields and generated decoding of nested message fields. A crafted protobuf binary payload could cause the JavaScript call stack to be exhausted during decoding. This vulnerability is fixed in 7.5.6 and 8.0.2.
Security readout for executives and security teams
Plain-English summary
Applications using vulnerable protobufjs versions can be crashed or made unavailable when they decode a specially crafted, deeply nested protobuf message. An attacker may trigger this remotely without credentials or user interaction when an application accepts untrusted protobuf data. The reported impact is service disruption, not data theft or modification.
Executive priority
Treat this as a high-priority availability issue for Internet-facing or business-critical services that decode untrusted protobuf data. Patch reachable systems promptly because exploitation is described as remote, unauthenticated, and low complexity. Lower priority is reasonable only after confirming that vulnerable versions are absent or their decoding paths cannot receive attacker-controlled input.
Technical view
Before versions 7.5.6 and 8.0.2, protobufjs decoding lacked a recursion-depth limit. Excessive nesting could exhaust the JavaScript call stack while skipping unknown group fields or decoding generated nested-message fields, causing denial of service. The CVSS 3.1 score is 7.5, reflecting network reachability, low complexity, and high availability impact.
Likely exposure
Exposure is most likely where an application resolves protobufjs below 7.5.6, or versions 8.0.0 through 8.0.1, and decodes attacker-controlled protobuf binaries. Risk increases for public APIs, gateways, messaging consumers, or other services that process untrusted protobuf data. Installation alone does not prove reachability.
Exploitation context
The source bundle marks this CVE as absent from KEV and provides no cited evidence of active exploitation. That does not prove exploitation is impossible. The reported attack requires crafted nested protobuf input reaching a vulnerable decoding path, without authentication or user interaction under the CVSS assessment.
Researcher notes
The relevant weakness classes are CWE-606 and CWE-674. Assessment should cover both unknown group-field skipping and generated nested-message decoding. Validate the effective runtime dependency rather than only the manifest. The sources describe availability impact through JavaScript call-stack exhaustion and identify fixed releases, but provide no active-exploitation evidence.
Mitigation direction
Upgrade protobufjs 7.x to 7.5.6 or later.
Upgrade protobufjs 8.x to 8.0.2 or later.
Update lockfiles and rebuild deployments to remove vulnerable transitive copies.
Until upgraded, restrict untrusted protobuf input and follow current vendor guidance.
Validation and detection
Inventory direct and transitive protobufjs versions across applications and deployment artifacts.
Confirm production runtimes resolve protobufjs 7.5.6, 8.0.2, or a later version.
Identify externally reachable paths that decode protobuf data from untrusted sources.
Regression-test deeply nested inputs for controlled rejection without process failure.
Monitor affected services for stack-exhaustion errors, crashes, and abnormal restart patterns.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-606: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-606 · source CWE mapping
Unchecked Input for Loop Condition
Unchecked Input for Loop Condition represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Uncontrolled Recursion represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.