httpd/httpd-2.4.63-CVE-2026-34356.patch
Luboš Uhliarik 0bb1dcc715 Resolves: RHEL-186222 - httpd: Apache HTTP Server: Heap-based Buffer Overflow
via malicious backend servers (CVE-2026-34356)
Resolves: RHEL-186190 - httpd: Apache HTTP Server: Heap-based Buffer Overflow
  via untrusted content in mod_xml2enc (CVE-2026-42536)
Resolves: RHEL-186181 - httpd: Apache HTTP Server: Buffer overflow in
  mod_proxy_html allows security bypass (CVE-2026-34355)
Resolves: RHEL-186160 - httpd: Apache HTTP Server: Buffer Over-read via
  outbound OCSP requests to attacker-controlled server (CVE-2026-44185)
Resolves: RHEL-184308 - httpd: Apache HTTP Server: Denial of Service via
  crafted regular expressions (CVE-2026-44631)
Resolves : RHEL-182579 - httpd: incomplete fix for
  CVE-2023-38709 (CVE-2024-42516)
Resolves: RHEL-175622 - httpd: NULL pointer dereference via specially crafted
  request (CVE-2026-29169)
Resolves: RHEL-193112 - httpd: Apache HTTP Server: Denial of Service in
  mod_proxy_ftp via attacker-controlled FTP server (CVE-2026-44186)
Resolves: RHEL-234657 - httpd: Apache HTTP Server: Privilege Escalation via
  .htaccess file manipulation (CVE-2026-24072)
Resolves: RHEL-191241 - httpd: Apache HTTP Server: Out-of-bounds Read in
  mod_headers and mod_mime (CVE-2026-43951)
Also addresses CVE-2026-44119, CVE-2026-42535, CVE-2026-33006
2026-08-18 10:54:23 +02:00

31 lines
1.3 KiB
Diff

diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c
index 00fedb1..81b7de2 100644
--- a/modules/proxy/proxy_util.c
+++ b/modules/proxy/proxy_util.c
@@ -1036,6 +1036,12 @@ PROXY_DECLARE(const char *) ap_proxy_cookie_reverse_map(request_rec *r,
poffs = pathp - tmpstr_orig;
l1 = strlen(pathp);
pathe = str + poffs + l1;
+ /*
+ * RFC 6265 § 5.3 7): Only the last path= should be meaningful
+ * so reset anything previously found.
+ */
+ newpath = NULL;
+ pdiff = 0;
if (conf->interpolate_env == 1) {
ent = (struct proxy_alias *)rconf->cookie_paths->elts;
}
@@ -1056,6 +1062,12 @@ PROXY_DECLARE(const char *) ap_proxy_cookie_reverse_map(request_rec *r,
doffs = domainp - tmpstr_orig;
l1 = strlen(domainp);
domaine = str + doffs + l1;
+ /*
+ * RFC 6265 § 5.3 4): Only the last domain= should be meaningful
+ * so reset anything previously found.
+ */
+ newdomain = NULL;
+ ddiff = 0;
if (conf->interpolate_env == 1) {
ent = (struct proxy_alias *)rconf->cookie_domains->elts;
}