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
31 lines
1.3 KiB
Diff
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;
|
|
}
|