GHSA-fx83-v9x8-x52w

Suggest an improvement
Source
https://github.com/advisories/GHSA-fx83-v9x8-x52w
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-fx83-v9x8-x52w/GHSA-fx83-v9x8-x52w.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-fx83-v9x8-x52w
Aliases
  • CVE-2026-44292
Downstream
Related
Published
2026-05-12T15:01:44Z
Modified
2026-05-14T20:50:55.576375Z
Severity
  • 5.3 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N CVSS Calculator
Summary
protobuf.js: Prototype injection in generated message constructors
Details

Summary

protobufjs generated message constructors copied enumerable properties from a provided properties object without filtering the __proto__ key. If an application constructed a message from an attacker-controlled plain object, an own enumerable __proto__ property could alter the prototype of that individual message instance.

Impact

An attacker who can control the properties object passed to a generated protobufjs message constructor or creation helper may be able to modify the prototype chain of the resulting message instance.

This is a per-instance prototype injection issue. It does not pollute Object.prototype or other global prototypes. The impact depends on downstream application behavior, such as relying on inherited properties, prototype methods, or instanceof checks for message objects.

Applications that only decode binary protobuf data, or that construct messages from trusted application-defined objects, are not directly affected by this issue.

Preconditions

  • The application must allow an attacker to control or influence a plain object used to construct a protobufjs message.
  • The object must contain an own enumerable __proto__ property, for example from parsed JSON input.
  • The application must pass that object to a generated message constructor or creation helper that copies arbitrary enumerable properties.

Workarounds

Do not pass attacker-controlled plain objects directly to generated message constructors with affected versions. If untrusted JSON input must be accepted, validate or sanitize object keys before constructing messages, and reject __proto__ properties.

Database specific
{
    "cwe_ids": [
        "CWE-1321"
    ],
    "nvd_published_at": "2026-05-13T16:16:56Z",
    "severity": "MODERATE",
    "github_reviewed_at": "2026-05-12T15:01:44Z",
    "github_reviewed": true
}
References

Affected packages

npm / protobufjs

Package

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
7.5.6

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-fx83-v9x8-x52w/GHSA-fx83-v9x8-x52w.json"
last_known_affected_version_range
"<= 7.5.5"

npm / protobufjs

Package

Affected ranges

Type
SEMVER
Events
Introduced
8.0.0
Fixed
8.0.2

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-fx83-v9x8-x52w/GHSA-fx83-v9x8-x52w.json"
last_known_affected_version_range
"<= 8.0.1"