[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1054455: bullseye-pu: package weborf/0.17-3



On 2023-10-23 23:23:07 +0200, Salvo "LtWorf" Tomaselli wrote:
> Package: release.debian.org
> Severity: normal
> Tags: bullseye
> User: release.debian.org@packages.debian.org
> Usertags: pu
> X-Debbugs-Cc: weborf@packages.debian.org, tiposchi@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

This version was already used: https://snapshot.debian.org/package/weborf/0.17-4/

Cheers

> +
> +  * Backport patch from upstream to fix denial of service (Closes: 1054417)
> +
> + -- Salvo 'LtWorf' Tomaselli <tiposchi@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 <tiposchi@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


-- 
Sebastian Ramacher


Reply to: