Bug 33068 - golang new security issue CVE-2023-45288 (HTTP/2 CONTINUATION Flood)
Summary: golang new security issue CVE-2023-45288 (HTTP/2 CONTINUATION Flood)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: Security (show other bugs)
Version: 9
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact: Sec team
URL:
Whiteboard: MGA9-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2024-04-09 10:13 CEST by Nicolas Salguero
Modified: 2024-04-13 18:57 CEST (History)
3 users (show)

See Also:
Source RPM: golang-1.21.7-1.1.mga9.src.rpm
CVE: CVE-2023-45288
Status comment: Fixed upstream in 1.21.9


Attachments

Description Nicolas Salguero 2024-04-09 10:13:01 CEST
That CVE was announced here:
https://www.openwall.com/lists/oss-security/2024/04/05/4

The problem is fixed in 1.21.9 (and 1.22.2, which is already built for Cauldron, so only Mageia 9 is affected).
Nicolas Salguero 2024-04-09 10:13:25 CEST

CVE: (none) => CVE-2023-45288
Source RPM: (none) => golang-1.21.7-1.1.mga9.src.rpm
Status comment: (none) => Fixed upstream in 1.21.9

Comment 1 Lewis Smith 2024-04-09 20:58:38 CEST
Assigning to Stig who normally maintains Golang.

Assignee: bugsquad => smelror

Lewis Smith 2024-04-09 22:04:22 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=33076

Nicolas Salguero 2024-04-10 16:00:57 CEST

Blocks: (none) => 33087

Nicolas Salguero 2024-04-10 16:27:33 CEST

See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=33087

Nicolas Salguero 2024-04-10 16:28:09 CEST

Blocks: 33087 => (none)

Comment 2 Stig-Ørjan Smelror 2024-04-10 23:25:15 CEST
Advisory
========

Golang has been updated to version 1.21.9 to fix CVE-2023-45288.

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. 


References
==========
https://www.openwall.com/lists/oss-security/2024/04/05/4
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-45288


Files
=====

Uploaded to core/updates_testing

golang-misc-1.21.9-1.mga9
golang-docs-1.21.9-1.mga9
golang-1.21.9-1.mga9
golang-tests-1.21.9-1.mga9
golang-src-1.21.9-1.mga9
golang-bin-1.21.9-1.mga9
golang-shared-1.21.9-1.mga9

from golang-1.21.9-1.mga9.src.rpm

Assignee: smelror => qa-bugs

Comment 3 Len Lawrence 2024-04-12 12:34:14 CEST
Mageia9, x64

$ rpm -qa | grep golang
golang-src-1.21.7-1.1.mga9
golang-bin-1.21.7-1.1.mga9
golang-1.21.7-1.1.mga9
golang-misc-1.21.7-1.1.mga9
golang-docs-1.21.7-1.1.mga9
golang-tests-1.21.7-1.1.mga9
golang-shared-1.21.7-1.1.mga9

Ran the update via qarepo etc without issues.
$ rpm -q golang
golang-1.21.9-1.mga9

A docker rebuild is the standard way to test golang but have hit a snag.  Cannot access svn, at all, not even svn up from mgaadvisories.

CC: (none) => tarazed25

katnatek 2024-04-12 20:55:49 CEST

Keywords: (none) => advisory

Comment 4 Len Lawrence 2024-04-12 22:21:40 CEST
SVN back in action.  Checked out docker and followed the usual recipe and  built current docker without a hitch.  Along the way another 366 golang components were hauled in.
In docker build directory, 
$ cd RPMS/x86_64
$ ls
docker-24.0.5-5.mga9.x86_64.rpm
docker-devel-24.0.5-5.mga9.x86_64.rpm
docker-fish-completion-24.0.5-5.mga9.x86_64.rpm
docker-logrotate-24.0.5-5.mga9.x86_64.rpm
docker-nano-24.0.5-5.mga9.x86_64.rpm
docker-zsh-completion-24.0.5-5.mga9.x86_64.rpm

For comparison;
$ rpm -q docker
docker-24.0.5-4.mga9
So it looks like it is ahead of the curve.
Anyway, golang passes with flying colours.

Whiteboard: (none) => MGA64-OK

Len Lawrence 2024-04-12 22:23:55 CEST

Whiteboard: MGA64-OK => MGA9-64-OK

Comment 5 Thomas Andrews 2024-04-13 00:20:57 CEST
Thank you, Len.

Validating.

CC: (none) => andrewsfarm, sysadmin-bugs
Keywords: (none) => validated_update

Comment 6 Mageia Robot 2024-04-13 18:57:28 CEST
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGASA-2024-0128.html

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.