Medium

protobufjs: Denial of Service via infinite loop in .proto option parsing

  • Disclosed: 20.07.2026
  • Updated: 11.10.2026 10:22

Summary

protobufjs parsed option names by advancing through schema tokens until it reached an = token, without checking for end of input. A crafted .proto schema that opens an option declaration but ends prematurely could cause the option parser to loop without ever terminating.

This affects the reflection parsing path (parse, Root.load, Root.loadSync).

Impact

An attacker who can provide or influence .proto schema text parsed by an application may be able to cause the parsing call to never return. Because Node.js is single-threaded, the blocked event loop prevents all other work in the process, resulting in a denial of service that persists until the process is externally terminated.

Applications that only encode or decode protobuf binary data with trusted schemas are not directly affected.

Preconditions

  • The application must parse .proto schema text influenced by an attacker.
  • The schema must be parsed through APIs such as parse, Root.load, or Root.loadSync.
  • The crafted input must begin an option declaration that ends before its = assignment.

Workarounds

Do not parse .proto schemas from untrusted sources with affected versions. If untrusted schema text must be accepted, isolate parsing in a process or worker that can be safely terminated and bound it with a timeout, so a non-returning parse call cannot deny service to the rest of the application.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
npm package protobufjs >= 7.5.0, < 7.6.5, >= 8.0.0, < 8.6.6 7.6.5, 8.6.6

References

CVSS score 5.3/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Weakness (CWE)
CWE-835
Platform
npm
Package
protobufjs
Disclosed
20.07.2026
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-j3f2-48v5-ccww - CC BY 4.0

Vulnerability history: protobufjs

All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (17) in the archive
Total entries
17
First → latest
10.2018 07.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • Critical 2
  • High 6
  • Medium 9

Disclosures per year

  1. 2018: 1
  2. 2019: 0
  3. 2020: 0
  4. 2021: 0
  5. 2022: 1
  6. 2023: 1
  7. 2024: 0
  8. 2025: 0
  9. 2026: 14
Severity:
  1. protobufjs: Denial of Service via infinite loop in .proto option parsing this entry
    Medium · 5.3 CVE-2026-59877 >= 7.5.0, < 7.6.5, >= 8.0.0, < 8.6.6 7.6.5, 8.6.6
  2. High · 7.5 CVE-2026-48712 < 7.6.1, >= 8.0.0, < 8.4.1 7.6.1, 8.4.1
  3. High CVE-2026-44293 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  4. High · 8.1 CVE-2026-44291 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  5. High · 7.5 CVE-2026-44290 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  6. High · 7.5 CVE-2026-44289 < 7.5.6, >= 8.0.0, < 8.0.2 7.5.6, 8.0.2
  7. Critical · 9.8 CVE-2026-41242 >= 8.0.0, < 8.0.1, < 7.5.5 8.0.1, 7.5.5
  8. Critical · 9.8 CVE-2023-36665 >= 7.0.0, < 7.2.5, >= 6.10.0, < 6.11.4 7.2.5, 6.11.4
  9. High · 7.5 CVE-2022-25878 >= 6.11.0, < 6.11.3, >= 6.10.0, < 6.10.3 6.11.3, 6.10.3

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.