Skip to content

fix(mod_http2): upgrade to 2.0.42 and backport CVE fixes - #20165

Open
Kanishk Bansal (Kanishk-Bansal) wants to merge 1 commit into
4.0from
mod_http2-cves
Open

Kanishk Bansal (Kanishk-Bansal) wants to merge 1 commit into
4.0from
mod_http2-cves

Conversation

@Kanishk-Bansal

@Kanishk-Bansal Kanishk Bansal (Kanishk-Bansal) commented Nov 12, 2026 •

Copy link
Copy Markdown

Summary

Upgrade mod_http2 from 2.0.39 to 2.0.42 by pinning the Fedora f43 dist-git commit abbfe3047b64, and backport two fixes that only landed in httpd.

Fedora titled that commit "Version update to 2.0.45", but the spec is 2.0.42 plus Fedora's patch for CVE-2026-119618.

The standalone icing/mod_h2 project was archived in June 2026 and the module is now maintained only inside httpd, so there will be no newer standalone release. httpd builds with --disable-http2, so this package is what ships HTTP/2 support.

CVEs addressed (5)

CVE Severity How it is fixed
CVE-2026-119618 Critical Fedora patch mod_http2-2.0.42-CVE-2026-119618.patch (same change as httpd 824beab9, 2.4.71)
CVE-2026-49975 Moderate in 2.0.42 (httpd r1934882, dbf1cc4d)
CVE-2026-48913 Low in 2.0.42 (same r1934882 merge)
CVE-2026-43951 Moderate backport overlay of the h2_c2_filter.c part of httpd 6ff9dc2f (r1935006, 2.4.69)
CVE-2026-57941 Moderate backport overlay of httpd d072ed8f (r1938665, 2.4.69)

I checked each one against the source: the r1934882 hunks reverse-apply cleanly on 2.0.42 and are missing from 2.0.39, while the r1935006 and r1938665 changes are missing from both, so they are carried as patches.

Related: httpd 2.4.71 in #20164, mod_md in #20166.

Changes

  • base/comps/components.toml: drop the inline mod_http2 entry
  • base/comps/mod_http2/mod_http2.comp.toml: new, pins f43 abbfe3047b64…
  • base/comps/mod_http2/overlays/000{1,2}-*.overlay.toml + patches: the two backports
  • locks/mod_http2.lock, specs/m/mod_http2/: refreshed and re-rendered

Testing

  • Local mock build: all three patches apply with --fuzz=0; rpmautospec gives 2.0.42-2
  • Smoke test in mock with httpd: module loads, httpd -t OK, h2c GET and POST negotiate HTTP/2, 50 parallel h2c requests and no crashes in error_log
  • azldev comp update --check-only -p mod_http2 is clean

Pin mod_http2 to Fedora f43, which moves 4.0 from 2.0.39 to 2.0.42 and
carries Fedora's patch for CVE-2026-119618:
https://src.fedoraproject.org/rpms/mod_http2/c/abbfe3047b64bc1bac3f77836440e0391a37f79e

2.0.42 already contains the httpd r1934882 changes that fix
CVE-2026-49975 and CVE-2026-48913.

The standalone mod_h2 project is archived, so backport two fixes that
only landed in httpd 2.4.69 as patch overlays:
- CVE-2026-43951: httpd commit 6ff9dc2fdbe7 (h2_c2_filter.c part)
- CVE-2026-57941: httpd commit d072ed8f06d6

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 12, 2026 04:35
@Kanishk-Bansal Kanishk Bansal (Kanishk-Bansal) added 4.0 Issues and PRs for Azure Linux 4.0 CVE-fixed-by-upgrade CVE fixed by package upgrade security targets-4.0 labels Nov 12, 2026
@Kanishk-Bansal

Copy link
Copy Markdown
Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Temporary brigades allocated from the session pool remain retained after destruction, causing memory usage to grow across DATA frames and completed streams until the connection closes.

1 open issue
What changed in this PR

Updates Azure Linux’s standalone mod_http2 package from 2.0.39 to 2.0.42 and adds security backports. This complements the httpd upgrade because HTTP/2 support ships separately.

Changes:

  • Moves mod_http2 into a dedicated component definition pinned to Fedora f43.
  • Includes Fedora’s CVE-2026-119618 patch and backports CVE-2026-43951 and CVE-2026-57941 fixes.
  • Refreshes the component lock, rendered spec, patches, and source checksum.
File Description
specs/​m/​mod_http2/​sources Updates the tarball checksum for 2.0.42.
specs/​m/​mod_http2/​mod_http2.spec Updates version, patch declarations, and changelog.
specs/​m/​mod_http2/​mod_http2-2.0.42-CVE-2026-57941.patch Rendered session brigade-handling backport.
specs/​m/​mod_http2/​mod_http2-2.0.42-CVE-2026-43951.patch Rendered language-iteration backport.
specs/​m/​mod_http2/​mod_http2-2.0.42-CVE-2026-119618.patch Includes Fedora’s Content-Length correction.
locks/​mod_http2.lock Records the updated upstream pin and fingerprints.
base/​comps/​mod_http2/​overlays/​0002-CVE-2026-57941.overlay.toml Registers the session-handling backport.
base/​comps/​mod_http2/​overlays/​0001-CVE-2026-43951.overlay.toml Registers the language-iteration backport.
base/​comps/​mod_http2/​mod_http2.comp.toml Defines the dedicated component and upstream pin.
base/​comps/​mod_http2/​mod_http2-2.0.42-CVE-2026-57941.patch Supplies the session brigade-handling fix.
base/​comps/​mod_http2/​mod_http2-2.0.42-CVE-2026-43951.patch Supplies the language-iteration fix.
base/​comps/​components.toml Removes the inline component entry.

Review effort: Balanced

Comment on lines +162 to +163
+ bb = apr_brigade_create(session->pool,
+ session->c1->bucket_alloc);

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.0 Issues and PRs for Azure Linux 4.0 CVE-fixed-by-upgrade CVE fixed by package upgrade security targets-4.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants