From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 4FF529C667 for ; Wed, 22 Nov 2023 13:46:14 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 2A0B118232 for ; Wed, 22 Nov 2023 13:45:44 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Wed, 22 Nov 2023 13:45:43 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id DCDC042504 for ; Wed, 22 Nov 2023 13:45:42 +0100 (CET) Message-ID: <30b6e51d-c175-4b2f-aa3e-ef6a36d9925b@proxmox.com> Date: Wed, 22 Nov 2023 13:45:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Proxmox VE development discussion , Fiona Ebner References: <20231122124114.81511-1-f.ebner@proxmox.com> From: Friedrich Weber In-Reply-To: <20231122124114.81511-1-f.ebner@proxmox.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.120 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v2 qemu] add fix for vnc clipboard X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2023 12:46:14 -0000 Installed a patched pve-qemu-kvm package provided by Fiona and can confirm that the host->guest clipboard direction works now. More specifically: Entering something in the noVNC clipboard textbox, trying to paste in a text editor running inside a Debian Bullseye+XFCE VM with spice-vdagent 0.20.0-2. Without the patch, the editor froze for a few seconds and nothing was pasted. With the patch, pasting works again. Would be great if we could get this in, as the VNC clipboard is half-broken without it. Tested-by: Friedrich Weber On 22/11/2023 13:41, Fiona Ebner wrote: > This fixes the host->guest direction with noNVC as a client (and > likely others). > > Reported-by: Friedrich Weber > Signed-off-by: Fiona Ebner > --- > ...-ui-vnc-clipboard-fix-inflate_buffer.patch | 34 +++++++++++++++++++ > debian/patches/series | 1 + > 2 files changed, 35 insertions(+) > create mode 100644 debian/patches/extra/0010-ui-vnc-clipboard-fix-inflate_buffer.patch > > diff --git a/debian/patches/extra/0010-ui-vnc-clipboard-fix-inflate_buffer.patch b/debian/patches/extra/0010-ui-vnc-clipboard-fix-inflate_buffer.patch > new file mode 100644 > index 0000000..4711fa0 > --- /dev/null > +++ b/debian/patches/extra/0010-ui-vnc-clipboard-fix-inflate_buffer.patch > @@ -0,0 +1,34 @@ > +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 > +From: Fiona Ebner > +Date: Wed, 22 Nov 2023 13:17:25 +0100 > +Subject: [PATCH] ui/vnc-clipboard: fix inflate_buffer > + > +Commit d921fea338 ("ui/vnc-clipboard: fix infinite loop in > +inflate_buffer (CVE-2023-3255)") removed this hunk, but it is still > +required, because it can happen that stream.avail_in becomes zero > +before coming across a return value of Z_STREAM_END. > + > +This fixes the host->guest direction with noNVC. > + > +Reported-by: Friedrich Weber > +Signed-off-by: Fiona Ebner > +--- > + ui/vnc-clipboard.c | 5 +++++ > + 1 file changed, 5 insertions(+) > + > +diff --git a/ui/vnc-clipboard.c b/ui/vnc-clipboard.c > +index c759be3438..124b6fbd9c 100644 > +--- a/ui/vnc-clipboard.c > ++++ b/ui/vnc-clipboard.c > +@@ -69,6 +69,11 @@ static uint8_t *inflate_buffer(uint8_t *in, uint32_t in_len, uint32_t *size) > + } > + } > + > ++ *size = stream.total_out; > ++ inflateEnd(&stream); > ++ > ++ return out; > ++ > + err_end: > + inflateEnd(&stream); > + err: > diff --git a/debian/patches/series b/debian/patches/series > index 992299c..9938b8e 100644 > --- a/debian/patches/series > +++ b/debian/patches/series > @@ -7,6 +7,7 @@ extra/0006-Revert-Revert-graph-lock-Disable-locking-for-now.patch > extra/0007-migration-states-workaround-snapshot-performance-reg.patch > extra/0008-Revert-x86-acpi-workaround-Windows-not-handling-name.patch > extra/0009-hw-ide-ahci-fix-legacy-software-reset.patch > +extra/0010-ui-vnc-clipboard-fix-inflate_buffer.patch > bitmap-mirror/0001-drive-mirror-add-support-for-sync-bitmap-mode-never.patch > bitmap-mirror/0002-drive-mirror-add-support-for-conditional-and-always-.patch > bitmap-mirror/0003-mirror-add-check-for-bitmap-mode-without-bitmap.patch