Package: release.debian.org Severity: normal Tags: bullseye User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: web...@packages.debian.org, tipos...@tiscali.it Control: affects -1 + src:weborf
I have found a denial of service in all versions of weborf. It is tracked in #1054417 and solved in 1.0 upstream. https://github.com/ltworf/weborf/pull/88 The issue is fixed in unstable but remains in stable and oldstable. [ Reason ] The bug has been there undetected for years. The fix is minimal. [ Impact ] The denial of service and extremely unlikely but theoretically possible remote execution issue will remain. The issue exists only if the process has CGI enabled (not the default). [ Tests ] There are no automated tests covering the issue. [ Risks ] The patch is just 3 lines. [ Checklist ] [*] *all* changes are documented in the d/changelog [*] I reviewed all changes and I approve them [*] attach debdiff against the package in (old)stable [*] the issue is verified as fixed in unstable [ Changes ] A patch to remove a memory allocation and copy, where I forgot a +1 in the copy. The resulting code just reuses the same buffer instead of copying, which was not needed to begin with. [ Other info ] Tracked in CVE-2023-46586
diff -Nru weborf-0.17/debian/changelog weborf-0.17/debian/changelog --- weborf-0.17/debian/changelog 2020-12-31 15:13:19.000000000 +0100 +++ weborf-0.17/debian/changelog 2023-10-23 18:40:22.000000000 +0200 @@ -1,3 +1,9 @@ +weborf (0.17-4) bullseye; urgency=medium + + * Backport patch from upstream to fix denial of service (Closes: 1054417) + + -- Salvo 'LtWorf' Tomaselli <tipos...@tiscali.it> Mon, 23 Oct 2023 18:40:22 +0200 + weborf (0.17-3) unstable; urgency=medium * Disable most of the test suite (flaky on debian builders) diff -Nru weborf-0.17/debian/patches/cgi_buffer_fix.patch weborf-0.17/debian/patches/cgi_buffer_fix.patch --- weborf-0.17/debian/patches/cgi_buffer_fix.patch 1970-01-01 01:00:00.000000000 +0100 +++ weborf-0.17/debian/patches/cgi_buffer_fix.patch 2023-10-23 18:40:22.000000000 +0200 @@ -0,0 +1,25 @@ +Description: Fix incorrect memory operation + The original code failed to take into account the space needed for the + null terminator. + . + The patch just avoids the copy altogether, because it was not needed. +Author: Salvo "LtWorf" Tomaselli <tipos...@tiscali.it> +Origin: upstream +Bug: <upstream-bugtracker-url> +Bug-Debian: https://bugs.debian.org/1054417 +Forwarded: not-needed +Applied-Upstream: 1.0 +Last-Update: 2023-10-23 + +--- weborf-0.19.orig/cgi.c ++++ weborf-0.19/cgi.c +@@ -228,8 +228,7 @@ static inline void cgi_execute_child(con + environ = NULL; //Clear env vars + + if (strlen(executor) == 0) { +- executor = malloc(connection_prop->strfile_len + 1); +- strncpy(executor, connection_prop->strfile, connection_prop->strfile_len); ++ executor = connection_prop->strfile; + } + + cgi_set_http_env_vars(connection_prop->http_param); diff -Nru weborf-0.17/debian/patches/series weborf-0.17/debian/patches/series --- weborf-0.17/debian/patches/series 2020-12-31 15:13:19.000000000 +0100 +++ weborf-0.17/debian/patches/series 2023-10-23 18:40:22.000000000 +0200 @@ -1,2 +1,3 @@ 0001-sleep_in_http 002-disable_tests +cgi_buffer_fix.patch