new file mode 100644
@@ -0,0 +1,53 @@
+From 5f7eb6bbbe0510964e3fb1d6bb691e5445913e55 Mon Sep 17 00:00:00 2001
+From: "Paul \"LeoNerd\" Evans" <leonerd@leonerd.org.uk>
+Date: Sat, 9 May 2026 17:18:43 +0100
+Subject: [PATCH] pp_pack.c: Avoid ssize_t overflow when calculating the size
+ of a structure
+
+If the user has requested a size that would overflow a SSize_t, then the
+only sensible thing to do is throw an exception, because the structure
+this implies couldn't possibly fit into memory anyway.
+
+Upstream-Status: Backport [https://github.com/Perl/perl5/commit/5f7eb6bbbe0510964e3fb1d6bb691e5445913e55]
+CVE: CVE-2026-57432
+Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
+---
+ pod/perldiag.pod | 6 ++++++
+ pp_pack.c | 4 ++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/pod/perldiag.pod b/pod/perldiag.pod
+index 6c9948f..83a1b96 100644
+--- a/pod/perldiag.pod
++++ b/pod/perldiag.pod
+@@ -5027,6 +5027,12 @@ mixed-case attribute name, instead. See L<attributes>.
+ (F) You can't specify a repeat count so large that it overflows your
+ signed integers. See L<perlfunc/pack>.
+
++=item Pack template structure size is too large
++
++(F) You called C<pack> or C<unpack> to operate on a structure, whose
++computed size is too large to fit in memory. This usually happens as a
++result of embedding a large number as the repeat count for an item.
++
+ =item page overflow
+
+ (W io) A single call to write() produced more lines than can fit on a
+diff --git a/pp_pack.c b/pp_pack.c
+index 0b53611..090bdb8 100644
+--- a/pp_pack.c
++++ b/pp_pack.c
+@@ -528,6 +528,10 @@ S_measure_struct(pTHX_ tempsym_t* symptr)
+ break;
+ }
+ }
++ if ((size > 0) &&
++ ((len > SSize_t_MAX / size) || /* detect overflow of len * size */
++ (len * size > SSize_t_MAX - total))) /* detect overflow of total + len * size */
++ croak("Pack template structure size is too large");
+ total += len * size;
+ }
+ return total;
+--
+2.43.0
+
new file mode 100644
@@ -0,0 +1,35 @@
+From 40754edc72dd3e513d758153c0e2f0215897740e Mon Sep 17 00:00:00 2001
+From: "Paul \"LeoNerd\" Evans" <leonerd@leonerd.org.uk>
+Date: Mon, 11 May 2026 12:25:33 +0100
+Subject: [PATCH] pp_pack.c: Avoid some other potential overflows when
+ calculating sizes
+
+Upstream-Status: Backport [https://github.com/Perl/perl5/commit/40754edc72dd3e513d758153c0e2f0215897740e]
+CVE: CVE-2026-57432
+Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
+---
+ pp_pack.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pp_pack.c b/pp_pack.c
+index 090bdb8..ac69a71 100644
+--- a/pp_pack.c
++++ b/pp_pack.c
+@@ -513,12 +513,12 @@ S_measure_struct(pTHX_ tempsym_t* symptr)
+ break;
+ case 'B':
+ case 'b':
+- len = (len + 7)/8;
++ len = (len / 8) + !!(len % 8);
+ size = 1;
+ break;
+ case 'H':
+ case 'h':
+- len = (len + 1)/2;
++ len = (len / 2) + !!(len % 2);
+ size = 1;
+ break;
+
+--
+2.43.0
+
@@ -19,6 +19,8 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
file://CVE-2026-8376-01.patch \
file://CVE-2026-8376-02.patch \
file://CVE-2026-13221.patch \
+ file://CVE-2026-57432-1.patch \
+ file://CVE-2026-57432-2.patch \
"
SRC_URI:append:class-native = " \
file://perl-configpm-switch.patch \
Pick patch according to [2] [1] https://nvd.nist.gov/vuln/detail/cve-2026-57432 [2] https://security-tracker.debian.org/tracker/CVE-2026-57432 Signed-off-by: Vijay Anusuri <vanusuri@mvista.com> --- .../perl/files/CVE-2026-57432-1.patch | 53 +++++++++++++++++++ .../perl/files/CVE-2026-57432-2.patch | 35 ++++++++++++ meta/recipes-devtools/perl/perl_5.42.0.bb | 2 + 3 files changed, 90 insertions(+) create mode 100644 meta/recipes-devtools/perl/files/CVE-2026-57432-1.patch create mode 100644 meta/recipes-devtools/perl/files/CVE-2026-57432-2.patch