CVE-2026-44294
protobufjs: Denial of service from crafted field names in generated code
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation. This vulnerability is fixed in 7.5.6 and 8.0.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
protobufjs: Denial of service from crafted field names in generated code
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation. This vulnerability is fixed in 7.5.6 and 8.0.2.
- Record
CVE-2026-44294- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-20
- Updated
- 2026-11-02
EUVDEUVD-2026-30032
5.3
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation. This vulnerability is fixed in 7.5.6 and 8.0.2.
- Record
EUVD-2026-30032- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-2pr8-phx7-x9h3
5.3
protobuf.js: Denial of service from crafted field names in generated code
Summary
protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation.
Impact
An attacker who can provide or influence a protobuf schema or JSON descriptor may be able to make affected message types unusable by causing protobufjs runtime code generation to throw a syntax error.
This is a denial of service issue for applications that load untrusted schemas or descriptors. Applications that only use trusted, application-defined schemas are not directly affected by this issue.
The issue is not known to allow code execution by itself.
Preconditions
- The application must allow an attacker to control or influence a protobuf schema or JSON descriptor.
- The crafted input must define a field name containing control characters that reach generated JavaScript property access.
- The application must perform an operation that triggers protobufjs code generation for the affected type, such as encode, decode, verify,
fromObject, ortoObject.
Workarounds
Do not load protobuf schemas or JSON descriptors from untrusted sources with affected versions. If untrusted schemas must be accepted, validate field names before loading them and reject names containing control characters.
- Record
GHSA-2pr8-phx7-x9h3- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-20
- Updated
- 2026-11-02
NVD
5.3
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation. This vulnerability is fixed in 7.5.6 and 8.0.2.
- Record
CVE-2026-44294- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-20
- Updated
- 2026-11-02
OSV
5.3
protobufjs: Denial of service from crafted field names in generated code
protobufjs compiles protobuf definitions into JavaScript (JS) functions. Prior to 7.5.6 and 8.0.2, protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation. This vulnerability is fixed in 7.5.6 and 8.0.2.
- Record
CVE-2026-44294- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-20
- Updated
- 2026-11-02
OSVGHSA-2pr8-phx7-x9h3
5.3
protobuf.js: Denial of service from crafted field names in generated code
Summary
protobufjs generated JavaScript property accessors from schema-controlled field and oneof names. Certain control characters in field names were not escaped before being embedded into generated function bodies. A crafted schema or JSON descriptor could therefore cause generated encode, decode, verify, or conversion functions to fail during compilation.
Impact
An attacker who can provide or influence a protobuf schema or JSON descriptor may be able to make affected message types unusable by causing protobufjs runtime code generation to throw a syntax error.
This is a denial of service issue for applications that load untrusted schemas or descriptors. Applications that only use trusted, application-defined schemas are not directly affected by this issue.
The issue is not known to allow code execution by itself.
Preconditions
- The application must allow an attacker to control or influence a protobuf schema or JSON descriptor.
- The crafted input must define a field name containing control characters that reach generated JavaScript property access.
- The application must perform an operation that triggers protobufjs code generation for the affected type, such as encode, decode, verify,
fromObject, ortoObject.
Workarounds
Do not load protobuf schemas or JSON descriptors from untrusted sources with affected versions. If untrusted schemas must be accepted, validate field names before loading them and reject names containing control characters.
- Record
GHSA-2pr8-phx7-x9h3- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-20
- Updated
- 2026-11-02
Show 11 moreShow less
OSVROOT-APP-NPM-CVE-2026-44294
5.3
CVE-2026-44294 in protobufjs - Patched by Root
Root has patched CVE-2026-44294 in the protobufjs package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2026-44294- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVCLSA-2026-1784250508 No score
TuxCare security update for protobufjs (6 CVEs)
TuxCare rebuilt protobufjs to address 6 CVEs. Fixed in 6.11.6-tuxcare.4.
- Record
CLSA-2026-1784250508- Updated
- 2026-11-02
OSVCLSA-2026-1784769544 No score
TuxCare security update for protobufjs (8 CVEs)
TuxCare rebuilt protobufjs to address 8 CVEs. Fixed in 2.2.1-tuxcare.1.
- Record
CLSA-2026-1784769544- Updated
- 2026-11-02
OSVCLSA-2026-1785380800 No score
TuxCare security update for protobufjs (4 CVEs)
TuxCare rebuilt protobufjs to address 4 CVEs. Fixed in 0.12.13-tuxcare.1.
- Record
CLSA-2026-1785380800- Updated
- 2026-11-02
OSVCLSA-2026-1785468075 No score
TuxCare security update for protobufjs (11 CVEs)
TuxCare rebuilt protobufjs to address 11 CVEs. Fixed in 6.8.8-tuxcare.1.
- Record
CLSA-2026-1785468075- Updated
- 2026-11-02
OSVCLSA-2026-1791218903 No score
TuxCare security update for protobufjs (11 CVEs)
TuxCare rebuilt protobufjs to address 11 CVEs. Fixed in 7.4.0-tuxcare.1.
- Record
CLSA-2026-1791218903- Updated
- 2026-11-02
OSVCLSA-2026-1791293603 No score
TuxCare security update for protobufjs (12 CVEs)
TuxCare rebuilt protobufjs to address 12 CVEs. Fixed in 8.0.0-tuxcare.1.
- Record
CLSA-2026-1791293603- Updated
- 2026-11-02
OSVCLSA-2026-1791362263 No score
TuxCare security update for protobufjs (11 CVEs)
TuxCare rebuilt protobufjs to address 11 CVEs. Fixed in 8.0.1-tuxcare.1.
- Record
CLSA-2026-1791362263- Updated
- 2026-11-02
OSVCLSA-2026-1792184156 No score
TuxCare security update for protobufjs (8 CVEs)
TuxCare rebuilt protobufjs to address 8 CVEs. Fixed in 6.11.3-tuxcare.2.
- Record
CLSA-2026-1792184156- Updated
- 2026-11-02
OSVCLSA-2026-1792490720 No score
TuxCare security update for protobufjs (12 CVEs)
TuxCare rebuilt protobufjs to address 12 CVEs. Fixed in 3.8.2-tuxcare.1.
- Record
CLSA-2026-1792490720- Updated
- 2026-11-02
OSVCLSA-2026-1792755967 No score
TuxCare security update for protobufjs (7 CVEs)
TuxCare rebuilt protobufjs to address 7 CVEs. Fixed in 7.5.4-tuxcare.3.
- Record
CLSA-2026-1792755967- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
protobufjsnpm |
through 7.5.5 | 7.5.6 |
protobufjsnpm |
8.0.0 to 8.0.1 | 8.0.2 |
protobufjsTuxCare:npm From an advisory covering 6 CVEs |
6.11.6-tuxcare.0 up to 6.11.6-tuxcare.4, plus listed versions 6.11.66.11.6-tuxcare.16.11.6-tuxcare.26.11.6-tuxcare.3 |
6.11.6-tuxcare.4 |
protobufjsTuxCare:npm From an advisory covering 8 CVEs |
2.2.1-tuxcare.0 up to 2.2.1-tuxcare.1, plus listed versions 2.2.1 |
2.2.1-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 4 CVEs |
0.12.13-tuxcare.0 up to 0.12.13-tuxcare.1, plus listed versions 0.12.13 |
0.12.13-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 11 CVEs |
6.8.8-tuxcare.0 up to 6.8.8-tuxcare.1, plus listed versions 6.8.8 |
6.8.8-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 11 CVEs |
7.4.0-tuxcare.0 up to 7.4.0-tuxcare.1, plus listed versions 7.4.0 |
7.4.0-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 12 CVEs |
8.0.0-tuxcare.0 up to 8.0.0-tuxcare.1, plus listed versions 8.0.0 |
8.0.0-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 11 CVEs |
8.0.1-tuxcare.0 up to 8.0.1-tuxcare.1, plus listed versions 8.0.1 |
8.0.1-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 8 CVEs |
6.11.3-tuxcare.0 up to 6.11.3-tuxcare.2, plus listed versions 6.11.36.11.3-tuxcare.1 |
6.11.3-tuxcare.2 |
Show 6 moreShow less
| Package | Affected | Fixed |
|---|---|---|
protobufjsTuxCare:npm From an advisory covering 12 CVEs |
3.8.2-tuxcare.0 up to 3.8.2-tuxcare.1, plus listed versions 3.8.2 |
3.8.2-tuxcare.1 |
protobufjsTuxCare:npm From an advisory covering 7 CVEs |
7.5.4-tuxcare.0 up to 7.5.4-tuxcare.3, plus listed versions 7.5.47.5.4-tuxcare.17.5.4-tuxcare.2 |
7.5.4-tuxcare.3 |
protobufjsnpm |
before 7.5.6 | 7.5.6 |
protobufjsnpm |
8.0.0 up to 8.0.2 | 8.0.2 |
protobufjsRoot:npm |
before 7.5.5-aikido.4 | 7.5.5-aikido.47.5.4-aikido.58.0.1-aikido.57.4.0-aikido.48.0.1-aikido.67.5.4-aikido.67.4.0-aikido.57.4.0-aikido.66.11.4-aikido.36.11.6-aikido.36.11.6-aikido.46.11.4-aikido.46.11.6-aikido.57.5.5-aikido.58.0.1-aikido.77.5.4-aikido.77.4.0-aikido.77.5.5-aikido.68.0.1-aikido.87.5.4-aikido.86.11.4-aikido.57.5.5-aikido.78.0.1-aikido.96.11.6-aikido.67.5.5-aikido.8 |
@rootio/protobufjsRoot:npm |
before 7.5.5-root.io.4 | 7.5.5-root.io.47.5.4-root.io.58.0.1-root.io.57.4.0-root.io.48.0.1-root.io.67.5.4-root.io.67.4.0-root.io.57.4.0-root.io.66.11.4-root.io.36.11.6-root.io.36.11.6-root.io.46.11.4-root.io.46.11.6-root.io.57.5.5-root.io.58.0.1-root.io.77.5.4-root.io.77.4.0-root.io.77.5.5-root.io.68.0.1-root.io.87.5.4-root.io.86.11.4-root.io.57.5.5-root.io.78.0.1-root.io.96.11.6-root.io.67.5.5-root.io.8 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-44294 is a medium vulnerability (CVSS 5.3) in Protobufjs Project Protobufjs, published May 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.43%, the 37th percentile. Fixed in protobufjs 7.5.6.
References
github.com/protobufjs/protobuf.js/security/advisories/GHSA-2pr8-phx7-x9h3
github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v7.5.6
github.com/protobufjs/protobuf.js/releases/tag/protobufjs-v8.0.2
nvd.nist.gov/vuln/detail/CVE-2026-44294
github.com/advisories/GHSA-2pr8-phx7-x9h3
github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44294.json
github.com/protobufjs/protobuf.js