Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2023-45288

Опубликовано: 03 апр. 2024
Источник: redhat
CVSS3: 7.5
EPSS Средний

Описание

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.

A vulnerability was discovered with the implementation of the HTTP/2 protocol in the Go programming language. There were insufficient limitations on the amount of CONTINUATION frames sent within a single stream. An attacker could potentially exploit this to cause a Denial of Service (DoS) attack.

Отчет

Red Hat rates the security impact of this vulnerability as Important due to the worst case scenario resulting in a denial of service. It is simple to exploit, could significantly impact availability, and there is not a suitable mitigation for all use cases. Once an attack has ended, the system should return to normal operations on its own. This vulnerability only impacts servers which have HTTP/2 enabled. It stems from an imperfect definition of the protocol. As the Go programming language is widely utilized across nearly every major Red Hat offering, a full listing of impacted packages will not be provided. Therefore, the “Affected Packages and Issued Red Hat Security Errata” section contains a simplified list of what offerings need to remediate this vulnerability. Every impacted offering has at least one representative component listed, but potentially not all of them. Rest assured that Red Hat is committed to remediating this vulnerability across our entire portfolio. Many components are rated as Low impact due to configurations which reduce the attack surface or significantly increase the difficulty of exploitation. A summary of these scenarios are:

  • The container includes a package that provides a vulnerable webserver, but it is not used or running during operation
  • HTTP/2 is disabled by default and is not supported
  • Only a client implementation is provided, which is not vulnerable
  • A vulnerable module (either golang.org/net/http or golang.org/x/net/http2) is included, but disabled
  • Access to a vulnerable server is restricted within the container (loopback only connections)
  • Golang is available in the container but is not used Within the Red Hat OpenShift Container Platform, the majority of vulnerable components are not externally accessible. This means an attacker must already have access to a container within your environment to exploit this vulnerability. However, the ose-hyperkube (openshift-enterprise-hyperkube) container is externally accessible, so there are less barriers to exploitation. Fixes for this specific container are already available. Within Red Hat Ansible Automation Platform, the impacted component is Receptor. The impact has been reduced to Low as the vulnerable code is present, but not utilized. There are three potential exposures within this component:
  • Receptor utilizes QUIC a UDP based protocol which does not run over HTTP/2
  • Receptor utilizes the x/net/ipv4 and ipv6 packages, both of which are not affected

Меры по смягчению последствий

In some environments where http/2 support is not required, it may be possible to disable this feature to reduce risk.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
cert-manager Operator for Red Hat OpenShiftcert-manager/cert-manager-operator-rhel9Affected
Cost Management Metrics Operatorcostmanagement/costmanagement-metrics-rhel8-operatorAffected
Fence Agents Remediation Operatorfence-agents-remediation-operator-containerWill not fix
Logical Volume Manager Storagelvms4/topolvm-rhel9Affected
Machine Deletion Remediation Operatormachine-deletion-remediation-operator-containerAffected
Migration Toolkit for Applications 6mta/mta-hub-rhel8Will not fix
Migration Toolkit for Virtualizationmigration-toolkit-virtualization/mtv-api-rhel9Affected
Multicluster Engine for Kubernetesmulticluster-engine-work-containerAffected
NBDE Tang Servertang-operator-containerWill not fix
Network Observability Operatornetwork-observability/network-observability-rhel9-operatorNot affected

Показывать по

Дополнительная информация

Статус:

Important
Дефект:
CWE-400
https://bugzilla.redhat.com/show_bug.cgi?id=2268273golang: net/http, x/net/http2: unlimited number of CONTINUATION frames causes DoS

EPSS

Процентиль: 98%
0.64852
Средний

7.5 High

CVSS3

Связанные уязвимости

CVSS3: 7.5
ubuntu
больше 1 года назад

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.

CVSS3: 7.5
nvd
больше 1 года назад

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection.

CVSS3: 7.5
msrc
10 месяцев назад

Описание отсутствует

CVSS3: 7.5
debian
больше 1 года назад

An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of ...

suse-cvrf
6 месяцев назад

Security update for buildah

EPSS

Процентиль: 98%
0.64852
Средний

7.5 High

CVSS3