CVE-2023-36665

Description

A flaw was found in the protobuf.js. The affected versions of protobuf.js could allow a remote attacker to execute arbitrary code on the system caused by prototype pollution. By sending a specially crafted message, an attacker can execute arbitrary code on the system.

Statement

For Red Hat Enterprise Linux, Protobufjs in Grafana are used for communication with trusted sources (prometheus/openmetrics scraping), end-user communication is over HTTP. While this CVE is in Grafana (rhel-8, rhel-9), it will be resolved via a Grafana rebase. Hence, it is marked as wontfix.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score8.69.8N/A
Attack VectorNetworkNetworkN/A
Attack ComplexityLowLowN/A
Privileges RequiredNoneNoneN/A
User InteractionNoneNoneN/A
ScopeUnchangedUnchangedN/A
ConfidentialityLowHighN/A
Integrity ImpactLowHighN/A
Availability ImpactHighHighN/A

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H

NVD: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Red Hat CVSS v3 Score Explanation

Confidentiality and Integrity metrics are Low, because:

  • Successful exploitation may lead to some loss of confidentiality, but it's not under the attacker's control what information will be obtained.
  • Theoretically, an attacker may be able to modify some data but does not have control over the consequences of that modification.

Understanding the Weakness (CWE)

Confidentiality,Integrity,Availability

Technical Impact: Read Application Data; Modify Application Data

This weakness is usually exploited by using a special attribute of objects called proto, constructor, or prototype. Such attributes give access to the object prototype. An attacker can inject attributes that are used in other components by adding or modifying attributes of an object prototype. This creates attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the product depends on existence or non-existence of certain attributes, or uses pre-defined attributes of the object prototype (such as hasOwnProperty, toString, or valueOf).

Availability

Technical Impact: DoS: Crash, Exit, or Restart

An attacker can override existing attributes with ones that have incompatible type, which may lead to a crash.

Frequently Asked Questions

Want to get errata notifications? Sign up here.