Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
mod_http2
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
staging
rpms
mod_http2
Commits
74f77d7a
Commit
74f77d7a
authored
1 year ago
by
Rocky Automation
Browse files
Options
Downloads
Patches
Plain Diff
import mod_http2-1.15.19-5.el9_3.1
parent
e2547545
No related branches found
Branches containing commit
Tags
imports/r10s/mod_http2-2.0.26-3.el10
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.mod_http2.checksum
+1
-1
1 addition, 1 deletion
.mod_http2.checksum
SOURCES/mod_http2-1.15.19-CVE-2024-27316.patch
+56
-0
56 additions, 0 deletions
SOURCES/mod_http2-1.15.19-CVE-2024-27316.patch
SPECS/mod_http2.spec
+8
-1
8 additions, 1 deletion
SPECS/mod_http2.spec
with
65 additions
and
2 deletions
.mod_http2.checksum
+
1
−
1
View file @
74f77d7a
e1a2cc87e2b3b10c2a2940fefe6b469e2c779f5c3a203b262f9a9a48221d0711
9e2e7d021b97177da4b76649ac9f233acdf566a8806f1715ea34d8e2b2448c6f
This diff is collapsed.
Click to expand it.
SOURCES/mod_http2-1.15.19-CVE-2024-27316.patch
0 → 100644
+
56
−
0
View file @
74f77d7a
From 134e28ae5abc997fe064995627b3ebe247a5d5d8 Mon Sep 17 00:00:00 2001
From: Stefan Eissing <stefan@eissing.org>
Date: Fri, 23 Feb 2024 15:13:56 +0100
Subject: [PATCH] RESET stream after 100 failed incoming headers
---
mod_http2/h2_session.c | 10 +++++++---
mod_http2/h2_stream.c | 1 +
mod_http2/h2_stream.h | 1 +
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/mod_http2/h2_session.c b/mod_http2/h2_session.c
index 1915855..d9c077a 100644
--- a/mod_http2/h2_session.c
+++ b/mod_http2/h2_session.c
@@ -311,9 +311,13 @@
static int on_header_cb(nghttp2_session *ngh2, const nghttp2_frame *frame,
status = h2_stream_add_header(stream, (const char *)name, namelen,
(const char *)value, valuelen);
- if (status != APR_SUCCESS
- && (!stream->rtmp
- || stream->rtmp->http_status == H2_HTTP_STATUS_UNSET)) {
+ if (status != APR_SUCCESS &&
+ (!stream->rtmp ||
+ stream->rtmp->http_status == H2_HTTP_STATUS_UNSET ||
+ /* We accept a certain amount of failures in order to reply
+ * with an informative HTTP error response like 413. But of the
+ * client is too wrong, we fail the request an RESET the stream */
+ stream->request_headers_failed > 100)) {
return NGHTTP2_ERR_TEMPORAL_CALLBACK_FAILURE;
}
return 0;
diff --git a/mod_http2/h2_stream.c b/mod_http2/h2_stream.c
index 4fec537..2b2caaf 100644
--- a/mod_http2/h2_stream.c
+++ b/mod_http2/h2_stream.c
@@ -764,6 +764,7 @@
apr_status_t h2_stream_add_header(h2_stream *stream,
cleanup:
if (error) {
+ ++stream->request_headers_failed;
set_error_response(stream, error);
return APR_EINVAL;
}
diff --git a/mod_http2/h2_stream.h b/mod_http2/h2_stream.h
index 08f7888..baf8b50 100644
--- a/mod_http2/h2_stream.h
+++ b/mod_http2/h2_stream.h
@@ -75,6 +75,7 @@
struct h2_stream {
struct h2_request *rtmp; /* request being assembled */
apr_table_t *trailers; /* optional incoming trailers */
int request_headers_added; /* number of request headers added */
+ int request_headers_failed; /* number of request headers failed to add */
struct h2_bucket_beam *input;
apr_bucket_brigade *in_buffer;
This diff is collapsed.
Click to expand it.
SPECS/mod_http2.spec
+
8
−
1
View file @
74f77d7a
...
...
@@ -3,7 +3,7 @@
Name: mod_http2
Version: 1.15.19
Release: 5%{?dist}
Release: 5%{?dist}
.1
Summary: module implementing HTTP/2 for Apache 2
License: ASL 2.0
URL: https://icing.github.io/mod_h2/
...
...
@@ -16,6 +16,8 @@ Patch2: mod_http2-1.15.14-openssl30.patch
Patch100: mod_http2-1.15.19-CVE-2021-44224.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2176209
Patch101: mod_http2-1.15.19-CVE-2023-25690.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2268277
Patch102: mod_http2-1.15.19-CVE-2024-27316.patch
BuildRequires: make
BuildRequires: gcc
...
...
@@ -36,6 +38,7 @@ top of libnghttp2 for httpd 2.4 servers.
%patch100 -p1 -b .CVE-2021-44224
%patch101 -p1 -b .CVE-2023-25690
%patch102 -p1 -b .CVE-2024-27316
%build
autoreconf -i
...
...
@@ -60,6 +63,10 @@ echo "LoadModule proxy_http2_module modules/mod_proxy_http2.so" > %{buildroot}%{
%{_httpd_moddir}/mod_proxy_http2.so
%changelog
* Fri Apr 05 2024 Luboš Uhliarik <luhliari@redhat.com> - 1.15.19-5.1
- Resolves: RHEL-29826 - mod_http2: httpd: CONTINUATION frames
DoS (CVE-2024-27316)
* Wed Aug 16 2023 Luboš Uhliarik <luhliari@redhat.com> - 1.15.19-5
- Resolves: #2177753 - CVE-2023-25690 httpd: HTTP request splitting with
mod_rewrite and mod_proxy
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment