Bug#1147147: trixie-pu: package libhtml-formfu-perl/2.07000-2+deb13u1

Salvatore Bonaccorso carnil at debian.org
Tue Sep 8 10:46:42 BST 2026


Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: libhtml-formfu-perl at packages.debian.org, team at security.debian.org, debian-perl at lists.debian.org, gregoa at debian.org, carnil at debian.org
Control: affects -1 + src:libhtml-formfu-perl
User: release.debian.org at packages.debian.org
Usertags: pu

Hi SRM

This was to late for 13.7, but please consider it for 13.8.

libhtml-formfu-perl in trixie is vulnerable to CVE-2026-19873, which
is marked as no-dsa, which may result in denial of service (resource
exhaustion).

Attached is the debdiff. QA testing was as well done with debusine at:
https://debusine.debian.net/debian/developers/work-request/1232730/

Regards,
Salvatore
-------------- next part --------------
diff -Nru libhtml-formfu-perl-2.07000/debian/changelog libhtml-formfu-perl-2.07000/debian/changelog
--- libhtml-formfu-perl-2.07000/debian/changelog	2024-04-10 15:35:50.000000000 +0000
+++ libhtml-formfu-perl-2.07000/debian/changelog	2026-09-05 12:43:35.000000000 +0000
@@ -1,3 +1,13 @@
+libhtml-formfu-perl (2.07000-2+deb13u1) trixie; urgency=medium
+
+  * Team upload.
+
+  [ gregor herrmann ]
+  * Add patch from CPANSec to fix resource exhaustion vulnerability
+    (CVE-2026-19873) (Closes: #1146310)
+
+ -- Salvatore Bonaccorso <carnil at debian.org>  Sat, 05 Sep 2026 14:43:35 +0200
+
 libhtml-formfu-perl (2.07000-2) unstable; urgency=medium
 
   [ gregor herrmann ]
diff -Nru libhtml-formfu-perl-2.07000/debian/patches/CVE-2026-19873-r1.patch.patch libhtml-formfu-perl-2.07000/debian/patches/CVE-2026-19873-r1.patch.patch
--- libhtml-formfu-perl-2.07000/debian/patches/CVE-2026-19873-r1.patch.patch	1970-01-01 00:00:00.000000000 +0000
+++ libhtml-formfu-perl-2.07000/debian/patches/CVE-2026-19873-r1.patch.patch	2026-09-05 12:43:35.000000000 +0000
@@ -0,0 +1,83 @@
+From f04c57ca5f65b179b70ce13422df1aa0788fb849 Mon Sep 17 00:00:00 2001
+From: Robert Rothenberg <rrwo at cpansec.org>
+Date: Fri, 21 Aug 2026 12:05:00 +0100
+Subject: [PATCH] Bound the Repeatable counter taken from the query string
+
+The counter_name query parameter was passed to repeat() with no upper
+bound, so a single request could ask for an arbitrary number of copies
+of the block's child subtree. (CVE-2026-19873)
+
+Add a max_counter attribute, defaulting to 100, that clamps the value
+read from the query. A count passed to repeat() by application code is
+not affected.
+
+Assisted-by: Claude Opus 5 (1M context)
+
+Signed-off-by: Robert Rothenberg <rrwo at cpansec.org>
+
+Bug-Debian: https://bugs.debian.org/1146310
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2026-19873
+
+---
+ lib/HTML/FormFu/Element/Repeatable.pm | 31 +++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+diff --git a/lib/HTML/FormFu/Element/Repeatable.pm b/lib/HTML/FormFu/Element/Repeatable.pm
+index 920221c..e39818b 100644
+--- a/lib/HTML/FormFu/Element/Repeatable.pm
++++ b/lib/HTML/FormFu/Element/Repeatable.pm
+@@ -14,6 +14,13 @@ use Carp qw( croak );
+ 
+ has counter_name => ( is => 'rw', traits => ['Chained'] );
+ 
++has max_counter => (
++    is      => 'rw',
++    default => 100,
++    lazy    => 1,
++    traits  => ['Chained'],
++);
++
+ has _original_elements => ( is => 'rw' );
+ 
+ has increment_field_names => (
+@@ -280,6 +287,15 @@ sub process {
+ 
+         if ( defined $input && $input =~ /^[1-9][0-9]*\z/ ) {
+             $count = $input;
++
++            my $max = $self->max_counter;
++
++            if ( defined $max && $count > $max ) {
++                DEBUG_PROCESS
++                    && debug("clamping counter $count to max_counter $max");
++
++                $count = $max;
++            }
+         }
+     }
+ 
+@@ -442,6 +458,21 @@ present on the form during L<HTML::FormFu/process>, no Processors
+ (Constraints, etc.) will be run on the fields, and their values will not
+ be returned by L<HTML::FormFu/params> or L<HTML::FormFu/param>.
+ 
++=head2 max_counter
++
++Arguments: $count
++
++Default Value: 100
++
++The largest value that will be taken from the L</counter_name> query
++parameter. A larger value in the query is clamped to this limit, so the
++number of copies created from untrusted input is bounded.
++
++Set to C<undef> to restore the previous unbounded behaviour.
++
++This limit applies only to counts read from the query. A count passed
++directly to L</repeat> by application code is not affected.
++
+ =head2 increment_field_names
+ 
+ Arguments: $bool
+-- 
+2.53.0
+
diff -Nru libhtml-formfu-perl-2.07000/debian/patches/series libhtml-formfu-perl-2.07000/debian/patches/series
--- libhtml-formfu-perl-2.07000/debian/patches/series	2024-04-10 15:35:50.000000000 +0000
+++ libhtml-formfu-perl-2.07000/debian/patches/series	2026-09-05 12:43:35.000000000 +0000
@@ -1 +1,2 @@
 how-to-report-bugs.diff
+CVE-2026-19873-r1.patch.patch


More information about the pkg-perl-maintainers mailing list