FlawAtlas
Search the atlas
UBUNTU-CVE-2023-45288 High

UBUNTU-CVE-2023-45288

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.

Exploit probability Not scored
Published March 27, 2024
Required by Not available
Last source change May 20, 2026

02 / AFFECTED SOFTWARE

Affected packages

Ubuntu:14.04:LTS golang-1.10

1 explicit affected versions

Ubuntu:16.04:LTS golang-1.10

2 explicit affected versions

Ubuntu:16.04:LTS golang-1.6

10 explicit affected versions

Ubuntu:18.04:LTS golang-1.10

8 explicit affected versions

Ubuntu:18.04:LTS golang-1.8

2 explicit affected versions

Ubuntu:18.04:LTS golang-1.9

5 explicit affected versions

Ubuntu:20.04:LTS golang-1.13

10 explicit affected versions

Ubuntu:20.04:LTS golang-1.14

9 explicit affected versions

Ubuntu:20.04:LTS golang-1.18

2 explicit affected versions

Ubuntu:20.04:LTS golang-1.20

2 explicit affected versions

Ubuntu:20.04:LTS golang-1.21

2 explicit affected versions

Ubuntu:22.04:LTS golang-1.17

5 explicit affected versions

Ubuntu:22.04:LTS golang-1.18

7 explicit affected versions

Ubuntu:22.04:LTS golang-1.20

2 explicit affected versions

Ubuntu:22.04:LTS golang-1.21

2 explicit affected versions

Ubuntu:Pro:16.04:LTS golang-1.13

4 explicit affected versions

Ubuntu:Pro:16.04:LTS golang-1.18

1 explicit affected versions

Ubuntu:Pro:18.04:LTS golang-1.13

4 explicit affected versions

Ubuntu:Pro:18.04:LTS golang-1.16

2 explicit affected versions

Ubuntu:Pro:18.04:LTS golang-1.18

2 explicit affected versions

Ubuntu:Pro:20.04:LTS golang-1.16

3 explicit affected versions

Ubuntu:Pro:22.04:LTS golang-1.13

4 explicit affected versions

03 / CONNECTIONS

Connected vulnerabilities

04 / EVIDENCE

Source records

Open Source Vulnerabilities UBUNTU-CVE-2023-45288

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.

View original source

05 / REFERENCES

Further evidence